En C++ les objets ne sont pas de références, donc si tu déclares un objet A dans B, B contiendra un objet A qui sera instancié dans le constructeur de B. Jusque là tout va bien mais si tu mets aussi un objet de type B dans A, on a une dépendant circulaire, ce qui fait qu'en instanciant une objet A, on instancie un B, puis un autre A, puis un autre B. Evidemment on ne veut pas faire ca.
(Le problème n'existe pas en java car l'instanciation n'est pas automatique, il faut un new).
Pour résoudre ton problème, il faut qu'au moins un deux attributs bou soit un pointeur.
Par exemple:
B.h:
class A:
class B {A* bou;};
...
A.h:
#include "B.h"
class A {B bou;};
_____________________________________
Un éditeur de ressources gratuit pour Windows