Avviso del compilatore (livello 1) C4526

'function': la funzione membro statica non può eseguire l'override della funzione virtuale 'virtual function'override ignorata, la funzione virtuale verrà nascosta

La funzione membro statica soddisfa i criteri per eseguire l'override della funzione virtuale, che rende la funzione membro sia virtuale che statica.

Il codice seguente genera l'errore 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 );
};

Di seguito sono riportate le possibili correzioni:

  • Se la funzione è stata progettata per eseguire l'override della funzione virtuale della classe di base, rimuovere l'identificatore statico.

  • Se la funzione era destinata a essere una funzione membro statica, rinominarla in modo che non sia in conflitto con la funzione virtuale della classe base.