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 {}
}
};