AとBの2つのヘッダーがあります。これらは次のようになります。
// A.h
#include "B.h";
class A {
// stuff
AFunction(B* b);
OtherFunction();
}
// B.h
class A;
BFunction(A* a);
循環依存を解決するのはこれが初めてなので、何をしているのかよくわかりません。私の問題は次のとおりです。BFunctionは、ある時点で、を呼び出しますa->OtherFunction();
。OtherFunctionが前方宣言されていないためにエラーが発生し、明らかに前方宣言もできません。状況は対称的であるため(AFunctionはb-> SomeOtherFunction()を呼び出します)、include宣言とforward宣言を交換して修正することはできません。
どうすればこれを解決できますか?