Compartilhar via


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()
{
}