Partager via


Erreur du compilateur C2801

'operator operator' doit être un membre non statique

Les opérateurs suivants peuvent être surchargés uniquement en tant que membres non statiques :

  • Mission =

  • Accès aux membres de classe ->

  • Indice []

  • Appel de fonction ()

Causes possibles de C2801 :

  • L’opérateur surchargé n’est pas un membre de classe, de structure ou d’union.

  • L’opérateur surchargé est déclaré static.

  • L’exemple suivant génère l’erreur C2801 :

// C2801.cpp
// compile with: /c
operator[]();   // C2801 not a member
class A {
   static operator->();   // C2801 static
   operator()();   // OK
};