Références croisées en C - C - Programmation
Marsh Posté le 10-07-2005 à 23:31:27
Tu as quasiment le même problème que pour décrire une structure pointant sur elle-même (liste chaînée). Il te faut déclarer la structure avant de la définir.
Dans une liste chaînée
Code :
|
Il te faut déclarer "struct _A" avant de la définir
Code :
|
Code :
|
Voilà. J'ai pas testé mais cela devrait fonctionner...
Marsh Posté le 11-07-2005 à 14:51:40
_momone_ a écrit : J'ai un problème en C |
Ben oui, sinon, tu ne posterais pas là...
Citation :
|
En dehors de qui a été dit, il ne faut pas utiliser d'identificateur commençant par _ suivit de _A-Z, car il sont réservés à l'implémentation.
|
est correct (mais un peu court...)
http://mapage.noos.fr/emdel/codage.htm#nom_underscore
http://mapage.noos.fr/emdel/codage [...] ser_source
Marsh Posté le 10-07-2005 à 16:53:16
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;
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