編譯器錯誤 C2387
'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();
}