Dela via


Kompilatorvarning (nivå 1) C4526

"funktion" : Den statiska medlemsfunktionen kan inte åsidosätta den virtuella funktionen "virtuell funktion", åsidosättning ignoreras, den virtuella funktionen kommer att döljas

Anmärkningar

Den statiska medlemsfunktionen uppfyller kriterierna för att åsidosätta den virtuella funktionen, vilket gör medlemsfunktionen både virtuell och statisk.

Example

Följande kod genererar C4526:

// C4526.cpp
// compile with: /W1 /c
// C4526 expected
struct myStruct1 {
   virtual void __stdcall func( int ) = 0;
};

struct myStruct2: public myStruct1 {
   static void __stdcall func( int );
};

Följande är möjliga korrigeringar:

  • Om funktionen var avsedd att åsidosätta den virtuella basklassfunktionen tar du bort den statiska specificeraren.

  • Om funktionen var avsedd att vara en statisk medlemsfunktion byter du namn på den så att den inte står i konflikt med den virtuella basklassfunktionen.