A possede instance de B et B possede un pointeur sur A
je veux que A possède une instance de B et que B possède un pointeur sur A
j'ai essayé la double inclusion:
Code:
1 2 3 4 5
| #include<A.h>
int main()
{
A a;
} |
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 B;
class A
{
public:
A();
private:
B m_b;
};
#endif // A_H |
Code:
1 2 3 4 5 6
| #include "A.h"
A::A()
{
B m_b(this);
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #ifndef B_H
#define B_H
class A;
class B
{
public:
B(A* a);
private:
A* pA;
};
#endif // B_H |
Code:
1 2 3 4 5 6
| #include "B.h"
B::B(A* a)
{
pA=a;
} |
compilation: A.cpp:3:6: error: no matching function for call to 'B::B()'