Предупреждение компилятора C4485
"override_function" : соответствует методу класса базового ссылок "base_class_function", но не помечен как "new" или "override"; Предполагается , что "new" (и "virtual")
Метод доступа переопределяет ключевое слово с ключевым словом или без нее virtual
, функцию доступа базового класса, но override
описатель new
не был частью переопределяющей подписи функции. new
Добавьте или override
описатель, чтобы устранить это предупреждение.
Дополнительные сведения см. в переопределении и новом (новом слоте в vtable).
C4485 всегда выдается как ошибка. Используйте предупреждение pragma для подавления C4485.
Пример
Следующий пример создает 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 {}
}
};