關於提示:invalid use of incomplete type

gcc或者g++中,在兩個類需要相互引用時:

如果某個類的.h文件中聲明另一個類的指針,可以使用class關鍵字先進行聲明,而不需包含頭文件;

但如果涉及到定義某個類的對象或是引用類的某個具體成員時,則必須包含該類的頭文件,並且不要加class關鍵字進行聲明。

否則,將會出現標題所示編譯錯誤!


如果我們需要在類A中的頭文件中定義類B的指針時,同時在類B中我們也要定義類A的指針,這時我們可以使用class B在類A中

聲明,而不需要包含類B的頭文件,

但是當我們需要調用類B的方法時,就需要包含其頭文件,這時可以在類A的.cpp文件中包含類B的

頭文件#include <B.h>,同理在類B中操作也是一樣的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章