Partilhar via


Aviso do compilador C4484

«override_function» : corresponde ao método da classe ref base «base_class_function», mas não está marcado com «virtual», «new» ou «override»; Assume-se que se assume 'new' (e não 'virtual')

Observações

Ao compilar com /clr, o compilador não substituirá implicitamente uma função de classe base, o que significa que a função obterá um novo slot no vtable. Para resolver, especifique explicitamente se uma função é uma substituição.

Para obter mais informações, consulte:

C4484 é sempre emitido como um erro. Use o pragma de advertência para suprimir C4484.

Example

O exemplo a seguir gera 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 {}
};