我試着做A類B類的朋友不完全類型錯誤
class B;
class A{
public:
void show(const B&); // ##1## but this one works fine
B ob;// error incomplete type
};
class B{
public:
int b;
B():b(1){}
friend class A;
};
所以我的問題是,爲什麼它是不完整的類型?我認爲,當我做了class B
這就像一個函數的原型,它告訴編譯代碼中的某個地方有一個定義。
也在## 1 ##上面的代碼中爲什麼這是可能的?
相反,你可以有成員作爲指針B(B * OB) – maress