Kompilatorfel C2801

'operator operator' måste vara en icke-statisk medlem

Anmärkningar

Följande operatorer kan endast överbelastas som icke-statiska medlemmar:

  • Tilldelning =

  • Åtkomst till klassmedlem ->

  • Nedsänkt []

  • Funktionsanrop ()

Möjliga C2801-orsaker:

  • Överlagrad operator är inte en klass-, struktur- eller unionmedlem.

  • Överlagrade operatorn deklareras static.

Example

  • I följande exempel genereras C2801:
// C2801.cpp
// compile with: /c
operator[]();   // C2801 not a member
class A {
   static operator->();   // C2801 static
   operator()();   // OK
};