C++ 循環包含頭文件的問題

循環包含頭文件導致編譯報錯:missing type specifier - int assumed. Note: C++ does not support default-int

比如

A.h
#include "B.h"
class A{
B b;
}
-----------------------
B.h
#include "A.h"
class B{
A a;
}

這樣就會出現頭文件循環包含的問題

可以利用前置聲明的方式實現,但是變量要用指針的形式,因爲前置聲明只是一個類型的聲明,系統無法知道它的大小無法分配內容

A.h
class B;
class A{
B *b;
}
------------------
B.h
class A;
class B{
A *a;
}    
發佈了34 篇原創文章 · 獲贊 12 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章