コンパイラ エラー C2801
'operator operator' は非静的メンバーでなければなりません
次の演算子は、非静的メンバーとしてのみオーバーロードできます。
代入
=
クラス メンバーに対するアクセス
->
添字演算子
[]
関数呼び出し
()
考えられる C2801 の原因は次のとおりです。
オーバーロードされた演算子が、クラス、構造体、または共用体のメンバーではありません。
オーバーロードされた演算子が
static
と宣言されています。次の例では C2801 が生成されます。
// C2801.cpp
// compile with: /c
operator[](); // C2801 not a member
class A {
static operator->(); // C2801 static
operator()(); // OK
};