Delen via


Compilerwaarschuwing (niveau 4) C4487

'derived_class_function': komt overeen met overgenomen niet-virtuele methode 'base_class_function', maar is niet expliciet gemarkeerd als 'nieuw'

Opmerkingen

Een functie in een afgeleide klasse heeft dezelfde handtekening als een niet-virtuele basisklassefunctie. C4487 herinnert u eraan dat de afgeleide klassefunctie de basisklassefunctie niet overschrijft. Markeer expliciet de afgeleide klassefunctie new om deze waarschuwing op te lossen.

Zie voor meer informatie nieuwe (nieuwe slot in vtable).

Example

In het volgende voorbeeld wordt C4487 gegenereerd.

// 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();
}