Freigeben über


Compilerwarnung C4484

"override_function" : entspricht der Basis ref-Klassenmethode "base_class_function", ist jedoch nicht als "virtuell", "neu" oder "außer Kraft setzen" gekennzeichnet; "neu" (und nicht "virtuell") wird angenommen.

Beim Kompilieren mit "/clr" überschreibt der Compiler nicht implizit eine Basisklassenfunktion, was bedeutet, dass die Funktion einen neuen Steckplatz in der vtable erhält. Zum Auflösen geben Sie explizit an, ob eine Funktion eine Außerkraftsetzung ist.

Weitere Informationen finden Sie unter:

C4484 wird immer als Fehler ausgegeben. Verwenden Sie das Warn pragma, um C4484 zu unterdrücken.

Beispiel

Im folgenden Beispiel wird C4484 generiert.

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