同じ .cpp ファイルに 2 つのクラスがあります。
// forward
class B;
class A {
void doSomething(B * b) {
b->add();
}
};
class B {
void add() {
...
}
};
転送が機能せず、コンパイルできません。
次のエラーが表示されます。
error: member access into incomplete type 'B'
note: forward declaration of 'B'
私はclangコンパイラ(clang-500.2.79)を使用しています。
複数のファイル (.cpp と .hh) を使用したくありません。1 つの .cpp だけでコーディングしたいと考えています。
クラスAの前にクラスBを書くことはできません。
私の問題を解決する方法を知っていますか?