Compartir a través de


Error del compilador C2801

'operator operador' debe ser un miembro no estático

Observaciones

Los siguientes operadores solo se pueden sobrecargar como miembros no estáticos:

  • Asignación =

  • Acceso a miembros de clase ->

  • Subíndices []

  • Llamada de función ()

Posibles causas del error C2801:

  • El operador sobrecargado no es miembro de una clase, una estructura o una unión.

  • El operador sobrecargado se ha declarado como static.

Example

  • En el ejemplo siguiente se genera la advertencia C2801:
// C2801.cpp
// compile with: /c
operator[]();   // C2801 not a member
class A {
   static operator->();   // C2801 static
   operator()();   // OK
};