次のタイプの循環依存関係をどのように解決すればよいですか?各従属構造がそのメソッドにアクセスする循環依存関係を解決する
//A.hpp
#include "B.hpp"
struct A {
B b;
int foo();
};
//A.cpp
#include "A.hpp"
int A::foo{
b.fi(*this);
}
//B.hpp
struct A;
struct B {
int fi(const A &a);
};
//B.cpp
#include "B.hpp"
int B::fi(const A &a){
if(a.something())
something_else();
}
利用前方宣言 –
、::何か()が呼び出されます。同様に、B :: fi(const A&)が呼び出されるため、A.hppでBを宣言することはできません。 – MVTC
なぜあなたは上記のようにすることはできませんが、 'B.cpp'に' #http 'を含めるのはなぜですか? –