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