Bonjour a tous,

je suis confronté a un probleme assez genant. Plutot qu'un long discours, voici le code qui pose probleme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
class B;
 
class A
{
 private:
  B *b;
 public:
  A(){}
  void set_b(B* _b){
   this->b = _b;
   this->b->print(); // <--- ceci pose probleme 
  }
};
 
 
class B
{
	private:
		A a;
	public:
		B(){}
		void set_a(A _a){this->a = _a;}
		void print();
};
 
int main() 
{
	A a;
	return 0;
}
a la compilation de ce code, j'obtiens le resultat suivant :

test.cpp: In member function ‘void A::set_b(B*)’:
test.cpp:9: erreur: invalid use of undefined type ‘struct B’
test.cpp:1: erreur: forward declaration of ‘struct B’



Le fait est que j'ai besoin d'appeler une methode de la classe B dans A sachant que B n'est definit que partiellement.
Auriez-vous une solution pour remedier à ce probleme ?

Merci d'avance,

Sam