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
};