J'ai un problème en C:
Je dois créer deux structures, appelées A et B: A possède un membre de type B, et B possède un membre de type A *. Jusque là, tout va bien, je déclare A et B dans le même header. Maintenant, j'aimerais séparé ces deux structures dans deux fichiers différents. Donc voici ce que j'ai fait;
Code :
- //A.h
- #ifndef _A_H_
- #define _A_H_
- #include "B.h"
- typedef struct _A
- {
- B b_member;
- } A;
- #endif
|
Code :
- //B.h
- #ifndef _B_H_
- #define _B_H_
- typedef struct _A A;
- typedef struct _B;
- {
- A *a_pointer;
- } B;
- #endif
|
Mais lorsque je compile, le compilateur me renvoit l'erreur suivante: "redefinition of 'A'", ce qui est normal vu que après de l'#include, il y a deux "typedef struct _A A;" à la suite.
Comment je pourrais résoudre ce problème, sachant que j'aimerais éviter de tout mettre dans un seul fichier ou de passer par un troisième fichier?
Merci
Message édité par _momone_ le 10-07-2005 à 16:54:43