Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

Compiler Error C2801

'operator operator' must be a non-static member

The following operators can be overloaded only as nonstatic members:

  • Assignment =

  • Class member access ->

  • Subscripting []

  • Function call ()

Possible C2801 causes:

  • Overloaded operator is not a class, structure, or union member.

  • Overloaded operator is declared static.

  • The following sample generates C2801:

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