Share via


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.