Bonjour,

Je m'arrache les cheveux sur un problème de débutant : j'ai 2 classes A et B qui chacune doivent contenir un pointeur sur l'autre classe. Je dois donc faire un #include "a.h" dans b.h et un #include "b.h" dans a.h.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
#ifndef A_H
#define A_H
 
#include "b.h"
class A
{
	public:
           B *b;
           A();
           ~A();
};
 
#endif
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#ifndef B_H
#define B_H
 
#include "a.h"
class B
{
	public:
           A *a;
           B();
	       ~B();
};
#endif
Le compilateur me sort alors un joli :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
8 b.h ISO C++ forbids declaration of `A' with no type
Quelle est la solution ?

Merci