看板 C_and_CPP 關於我們 聯絡資訊
遇到兩個.h檔必須要互相include對方時發生的問題 //a.h #ifndef A_H #define A_H #include "b.h" class A { A(){_b = new B(this);} void print(){} private: B* _b; }; #endif --------------------- //b.h #ifndef B_H #define B_H #include "a.h" class A; class B { public: B(A* ptr){ _a = ptr; _a->print(); } private: A* _a; } ; #endif --------------------- compile error: invalid use of undefined type struct A; forward declaration of 'struct A' 我是不知道該怎樣做啦請賜教,謝謝。 compiler: devC++ 4.9.9.2 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.79.51 ※ 編輯: rockwalking 來自: 220.136.79.51 (06/19 01:16)
QQ29:雖說互相include不好 但我覺得你要解 先把定義拉到.cpp吧 06/19 01:18
loveflames:b.h的include在哪 06/19 01:19
※ 編輯: rockwalking 來自: 220.136.79.51 (06/19 01:21)
rockwalking:回樓上以加上但錯誤訊息是一樣的 06/19 01:22
rockwalking:1F建議我會考慮的 06/19 01:24
uranusjr:class A; 那行不該存在吧 06/19 17:39
uranusjr:沒事我看錯了 -.- 06/19 17:40