Compartir a través de


Advertencia del compilador C4484

"override_function": coincide con el método de clase ref base "base_class_function", pero no está marcado como "virtual", "new" u "override"; se da por supuesto que es "new" (y no "virtual")

Al compilar con /clr, el compilador no invalidará implícitamente una función de clase base, lo que significa que la función obtendrá una ranura nueva en vtable. Para resolver la advertencia, especifique explícitamente si una función es una invalidación.

Para más información, vea:

La advertencia C4484 siempre se emite como error. Para suprimir la advertencia C4484, use la pragma warning.

Ejemplo

El ejemplo siguiente genera la advertencia C4484.

// C4484.cpp
// compile with: /clr
ref struct A {
   virtual void Test() {}
};

ref struct B : A {
   void Test() {}   // C4484
};

// OK
ref struct C {
   virtual void Test() {}
   virtual void Test2() {}
};

ref struct D : C {
   virtual void Test() new {}
   virtual void Test2() override {}
};