Advertencia del compilador (nivel 1) C4526
"function": una función miembro estática no puede invalidar la función virtual "virtual function" Se omitirá la invalidación y se ocultará la función virtual
La función miembro estática cumple con los criterios para invalidar la función virtual, lo que hace que la función miembro sea virtual y estática.
El código siguiente genera la advertencia 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 );
};
A continuación, se muestran algunas correcciones posibles:
Si la función estaba pensada para invalidar la función virtual de clase base, quite el especificador estático.
Si la función estaba pensada para ser una función miembro estática, cámbiele el nombre para que no entre en conflicto con la función virtual de clase base.