Compartilhar via


Erro do compilador C2553

'base_function': substituir tipo de retorno de função virtual difere de 'override_function'

Uma função em uma classe derivada tentou substituir uma função virtual em uma classe base, mas a função de classe derivada não tinha o mesmo tipo de retorno que a função de classe base. Uma assinatura de função de substituição deve corresponder à assinatura da função que está sendo substituída.

O seguinte exemplo gera C2553:

// C2553.cpp
// compile with: /clr /c
ref struct C {
   virtual void f();
};

ref struct D : C {
   virtual int f() override ;   // C2553

   // try the following line instead
   // virtual void f() override;
};