Error Message
'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
};