Compartilhar via


Aviso do compilador C4485

'override_function': corresponde ao método de ref class base 'base_class_function', mas não está marcado como 'new' ou 'override'; 'new' (e 'virtual') é assumido

Um acessador substitui, com ou sem a palavra-chave virtual, uma função de acessador de classe base, mas o override ou new especificador não fazia parte da assinatura de função de substituição. Adicione o especificador new ou override para resolver este aviso.

Confira override e new (novo slot na vtable) para obter mais informações.

C4485 sempre é emitido como um erro. Use o pragma warning para suprimir o C4485.

Exemplo

O exemplo a seguir gera o aviso C4485

// C4485.cpp
// compile with: /clr
delegate void Del();

ref struct A {
   virtual event Del ^E;
};

ref struct B : A {
   virtual event Del ^E;   // C4485
};

ref struct C : B {
   virtual event Del ^E {
      void raise() override {}
      void add(Del ^) override {}
      void remove(Del^) override {}
   }
};