Aviso do compilador (nível 1) C4526
'function': a função membro static não pode substituir a função virtual 'virtual function'. A substituição será ignorada, e a função virtual será ocultada
A função membro static atende aos critérios para substituir a função virtual, o que torna a função membro virtual e estática.
O código a seguir gera o erro 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 );
};
Estas são as possíveis correções:
Se a intenção com a função for substituir a função virtual da classe base, remova o especificador estático.
Se a intenção for que a função seja uma função membro static, renomeie-a para que ela não entre em conflito com a função virtual de classe base.