Erro do compilador C3254
'explicit override': a classe contém a substituição explícita 'override', mas não deriva de uma interface que contém a declaração de função
Quando você faz a substituição explícita de um método, a classe que contém a substituição deve derivar, direta ou indiretamente, do tipo que contém a função que você está substituindo.
O exemplo a seguir gera C3254:
// C3254.cpp
__interface I
{
void f();
};
__interface I1 : I
{
};
struct A /* : I1 */
{
void I1::f()
{ // C3254, uncomment : I1 to resolve this C3254
}
};
int main()
{
}