[Class] Problème avec définitions multiples

o0Leo0o Messages postés 116 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 20 août 2005 - 1 juil. 2005 à 16:01
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 4 juil. 2005 à 16:23
Bonjour.



J'ai deux classes, CInit (qui contient la fonction InitSDL) et CBMP
(qui contient la fonction ShowBMP), ces deux class font appels à screen
qui est déini de la manière suivante (dans cinit.cpp) :

SDL_Surface *screen;

Mon problème : comment rendre screen utilisable par les deux fonctions ?



J'ai utilisé un fichier .h intermédiaire, mais j'ai eu un problème de
multiple définition de screen (malgrès l'utilisation de #ifndef,
etc.).



Merci.



PS : Il n'y a pas de balises [code] ?

2 réponses

Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
1 juil. 2005 à 23:25
Salut, ce genre de problème est très pénible en général . Essaye de déclarer ainsi:

extern SDL_Surface *screen;(parfois çà marche)

Sinon tu inclue pas le .h et dans chaque fichier tu fais

extern SDL_Surface *screen;

Là encore c'est pas dit que çà marche .

Si rien ne marche alors le mieux c'est de fair eune fonction:

SDL_Screen *GetMyScreen()

{

static SDL_Screen *scr;

return scr;

}



à priori on peux le modifer puisque c'est un pointeur(c'est de la bidouille lol) .

A m a u r y
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
4 juil. 2005 à 16:23
au pire, mais,c'est pas propore, met tout ds un seul source



au mieux,

passe tjs par des param et n'utilise JAMAIS de variable globale

++

___________________________________________________________
Magicalement
Nono
0
Rejoignez-nous