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 main.cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #include<A.h> int main() { A a; }
Code A.h : 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 B; class A { public: A(); private: B m_b; }; #endif // A_H
Code A.cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include "A.h" A::A() { B m_b(this); }
Code B.h : Sélectionner tout - Visualiser dans une fenêtre à part
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_Hcompilation: A.cpp:3:6: error: no matching function for call to 'B::B()'
Code B.cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include "B.h" B::B(A* a) { pA=a; }
Partager