イムクラス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