私は継承の問題を持っている: の継承場合、FOO()曖昧である理由のは、私がC++の継承 - あいまいな機能
class Time{
protected:
void foo();
};
とも
class Base: private Time{
void foo1(){ foo(); }
};
class Child: public Base, private Time{
void foo2(){ foo(); }// here my compiler says that foo is ambiguous
};
を持っているとしましょうベースでの時間はプライベートですか?
PS。 ちょうど&フルコードを見る必要がある人のためだけに、GitHubプロジェクトです: https://github.com/huntekah/Interior_decorator-OpenGL_Project/blob/master/Grafika-OpenGL/Interior_decorator/Display.cpp#L133 class Time(ユーティリティディレクトリ)は、ControlのベースであるControlObjectsとControlCameraによって継承されます。表示はコントロールを継承し、さらに時間を継承します。コメント行は、SetDeltaTime()が曖昧な場所を示します。
プライベートでは非表示にしません。 – Jarod42
'Base'と' Time'の両方に 'foo'という名前のメンバ関数があり、コンパイラはどちらを呼び出そうとしているのか分かりません。どこかのところにこれの房があります。 –
ベース内の名前空間は非表示になりますか? –