Et oui c'est encore moi ;D
Aujourd'hui mon probleme est que j'ai un code de ce genre:
Code :
- #ifndef PANNEL
- #define PANNEL
- #include <SDL/SDL.h>
- #include <iostream.h>
- #include "./lst_int.h"
- #include "./lst_composant.h"
- #include "./composant.h"
- class pannel:public composant
- {
- protected:
- int largeur;
- int hauteur;
- lst_int **surface_comp;
- SDL_Surface *surface;
- lst_composant lst_comp;
- ...
|
Code :
- #ifndef COMPOSANT_H
- #define COMPOSANT_H
- #include <SDL/SDL.h>
- #include <stdlib.h>
- #include "./pannel.h"
- class composant
- {
- protected:
- pannel* pnl;
- int x;
- int y;
- int pos_pannel;
- ...
|
pannel.h a besoin de composant.h et vice versa, cela pose problême lors ed la compilation.
Si je fait
g++ -c pannel.h
le compilo va inclure composant.h avant de definir la class pannel
or pannel.h n'inclura pas composant.h (en raison du ifndef)
En général on résout ce problême avec une déclaration en avant, du genre
Code :
- typedef pannel;
- #include "./lst_int.h"
- #include "./lst_composant.h"
- #include "./composant.h"
- class pannel:public composant
- {
- protected:
- int largeur;
- int hauteur;
- lst_int **surface_comp;
- SDL_Surface *surface;
- lst_composant lst_comp;
- ..
|
idem pour l'autre fichier
Mais le compilo ne veut pas du typedef
Je ne sais pas comment résoudre ce probleme ...
Message édité par ffomnislash le 14-01-2005 à 19:19:43