Compilerwarnung C4485
"override_function" : entspricht der Basis ref-Klassenmethode "base_class_function", ist jedoch nicht als "neu" oder "außer Kraft setzen" gekennzeichnet; "neu" (und "virtuell") wird angenommen.
Ein Accessor überschreibt mit oder ohne die virtual
Schlüsselwort (keyword) eine Accessorfunktion der Basisklasse, aber der override
new
Bezeichner war nicht Teil der Überschreibungsfunktionssignatur. Fügen Sie den new
Bezeichner hinzu override
, um diese Warnung zu beheben.
Weitere Informationen finden Sie unter Außerkraftsetzung und neu (neuer Steckplatz in vtable).
C4485 wird immer als Fehler ausgegeben. Verwenden Sie das Warn pragma, um C4485 zu unterdrücken.
Beispiel
Im folgenden Beispiel wird C4485 generiert.
// 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 {}
}
};