probleme inclusion cyclique avec namespace
Bonjour,
tout est dans le titre, j'ai simplifier mon problème en deux fichiers et deux classes:
fichier A.hxx
Code:
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 |
fichier B.hxx
Code:
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 |
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 ).
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.
:cfou: Quelqu'un à les idées plus claires que moi sur ce coup ? merci