Share via


Upozornění kompilátoru (úroveň 4) C4487

'derived_class_function': odpovídá zděděné ne virtuální metodě "base_class_function", ale není explicitně označeno jako "nový".

Funkce v odvozené třídě má stejný podpis jako ne virtuální základní třída funkce. C4487 připomíná, že odvozená funkce třídy nepřepíše funkci základní třídy. Explicitně označte funkci odvozené třídy jako new pro vyřešení tohoto upozornění.

Další informace najdete v tématu nový (nový slot v tabulce).

Příklad

Následující ukázka vygeneruje C4487.

// C4487.cpp
// compile with: /W4 /clr
using namespace System;
public ref struct B {
   void f() { Console::WriteLine("in B::f"); }
   void g() { Console::WriteLine("in B::g"); }
};

public ref struct D : B {
   void f() { Console::WriteLine("in D::f"); }   // C4487
   void g() new { Console::WriteLine("in D::g"); }   // OK
};

int main() {
   B ^ a = gcnew D;
   // will call base class functions
   a->f();
   a->g();
}