'type' : あいまいな基底クラスです
コンパイラは、関数が複数の基底クラスに存在するため、関数呼び出しを明確に解決できませんでした。
このエラーを解決するには、いずれかの基底クラスを継承から削除するか、関数呼び出しを明示的に修飾します。
次の例では C2387 が生成されます。
// C2387.cpp
namespace N1 {
struct B {
virtual void f() {
}
};
}
namespace N2 {
struct B {
virtual void f() {
}
};
}
struct D : N1::B, N2::B {
virtual void f() {
B::f(); // C2387
// try the following line instead
// N1::B::f();
}
};
int main() {
D aD;
aD.f();
}