Erro do Compilador C2387
"type": classe base ambígua
O compilador não conseguiu resolver uma chamada de função inequivocamente porque a função existe em mais de uma classe base.
Para resolver esse erro, remova da herança uma das classes base ou qualifique a chamada de função explicitamente.
A amostra a seguir gera o erro 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();
}