Bonjour,
tout est dans le titre, j'ai simplifier mon problème en deux fichiers et deux classes:
fichier A.hxx
fichier B.hxx
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #ifndef DEF_A_HXX #define DEF_A_HXX class B; namespace NS_A{ class A { void func(const B& one_b); }; }; #endif
B inclut A qui a besoin de B seulement la pré déclaration de B dans A ne résout pas le problème vu que B != NS_B (même si ça compile si je lance la méthode func avec un objet NS_B ça ne passe pas ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #ifndef DEF_B_HXX #define DEF_B_HXX #include "A.hxx" namespace NS_B{ class B { int a; NS_A::A* one_a; }; }; #endif
Pour que cela fonctionne il faudrait pré déclarer
dans A.hxx mais ce n'est pas possible vu que NS_B n'est pas connu à ce stade.
Code : Sélectionner tout - Visualiser dans une fenêtre à part class NS_B::B
Quelqu'un à les idées plus claires que moi sur ce coup ? merci
Partager