Teilen über


Compilerfehler C2801

"Operatoroperator" muss ein nicht statisches Element sein

Die folgenden Operatoren können nur als nicht statische Member überladen werden:

  • Zuweisung =

  • Zugriff auf Klassenmemer ->

  • Tiefgestellt []

  • Funktionsaufruf ()

Mögliche Ursachen für C2801:

  • Überladener Operator ist kein Klassen-, Struktur- oder Unionsmitglied.

  • Überladener Operator wird deklariert static.

  • Im folgenden Beispiel wird C2801 generiert:

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