Problèmes de #include cycliques
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:
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:
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:
8 b.h ISO C++ forbids declaration of `A' with no type
Quelle est la solution ?
Merci