IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Passage à une fonction d'un tableau de pointeur vers des SDL_Surface


Sujet :

SDL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Janvier 2004
    Messages : 48
    Points : 28
    Points
    28
    Par défaut Passage à une fonction d'un tableau de pointeur vers des SDL_Surface
    Bonne nuit à tous,

    Voilà j'ai créer un tableau de pointeur vers des SDL_Surface et j'aimerai passer l'adresse de ce tableau à une fonction pour qu'elle puisse travailler avec ces surfaces. Voici un code simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    
    void fonction(SDL_Surface*);
    SDL_Surface *ecran = NULL;
    
    int main(int argc, char *argv[])
    {
        SDL_Init(SDL_INIT_VIDEO);
        ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
        SDL_WM_SetCaption("SDL", NULL);
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
    
        SDL_Surface* tab1[3];
        fonction(tab1[0]);
    
        SDL_Quit();
        return 0;
    }
    
    void fonction(SDL_Surface* tab)
    {
        int a = 0;
        for (a=0; a < 3; a++)
        {
            tab[a] = SDL_CreateRGBSurface(SDL_HWSURFACE, ecran->w, 1, 32, 0, 0, 0, 0);        
           SDL_FillRect(tab[a], NULL, SDL_MapRGB(ecran->format, 255, 0, 0));
        }
    }
    J'ai l'erreur suivante error: no match for 'operator=' in '*((+(((unsigned int)a) * 60u)) + tab) = SDL_CreateRGBSurface(1u, ecran->SDL_Surface::w, 1, 32, 0u, 0u, 0u, 0u) sur la ligne que j'ai mis en rouge.

    Quelqu'un saurait me mettre les idées au claire? Merci beaucoup.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Janvier 2004
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    Pas d'idée?

    Ca doit être un probleme de pointeur, j'ai encore passé du temps sur ce code aujourd'hui mais

  3. #3
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 078
    Points : 2 339
    Points
    2 339
    Par défaut
    void fonction(SDL_Surface* tab[3])

    et met
    void fonction(SDL_Surface* tab[3]); en tant que prototype.

Discussions similaires

  1. Tableau de pointeurs vers des objets
    Par rdtech dans le forum Débuter
    Réponses: 2
    Dernier message: 17/02/2013, 19h30
  2. Réponses: 2
    Dernier message: 15/02/2011, 10h34
  3. Réponses: 67
    Dernier message: 13/02/2007, 18h08
  4. Réponses: 2
    Dernier message: 12/10/2006, 20h28
  5. [WD9] Utiliser une fonction d'un ActiveX avec pointeur
    Par archimor dans le forum WinDev
    Réponses: 3
    Dernier message: 21/03/2006, 00h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo