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