Dela via


Kompilatorvarning C4484

"override_function": matchar basrefklassmetoden "base_class_function", men är inte markerad som "virtual", "new" eller "override"; "new" (och inte "virtual") antas

Anmärkningar

Vid kompilering med /clr åsidosätter kompilatorn inte implicit en basklassfunktion, vilket innebär att funktionen får ett nytt fack i den virtuella tabellen. Lös problemet genom att uttryckligen ange om en funktion är en åsidosättning.

Mer information finns i:

C4484 utfärdas alltid som ett fel. Använd varnings pragma för att undertrycka C4484.

Example

I följande exempel genereras C4484.

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