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.