3 回答

TA貢獻1865條經(jīng)驗 獲得超7個贊
主要規(guī)則是您只能轉(zhuǎn)發(fā)聲明其內(nèi)存布局(以及成員函數(shù)和數(shù)據(jù)成員)不需要在您轉(zhuǎn)發(fā)聲明它的文件中知道的類。
這將排除基類和除引用和指針使用的類之外的任何東西。

TA貢獻1794條經(jīng)驗 獲得超8個贊
除了指向不完整類型的指針和引用之外,您還可以聲明指定參數(shù)和/或返回不完整類型值的函數(shù)原型。但是,除非是指針或引用,否則無法定義具有不完整的參數(shù)或返回類型的函數(shù)。
例子:
struct X; // Forward declaration of X
void f1(X* px) {} // Legal: can always use a pointer
void f2(X& x) {} // Legal: can always use a reference
X f3(int); // Legal: return value in function prototype
void f4(X); // Legal: parameter in function prototype
void f5(X) {} // ILLEGAL: *definitions* require complete types
- 3 回答
- 0 關(guān)注
- 715 瀏覽
添加回答
舉報