次の方法で共有


コンパイラ エラー C2801

'operator operator' は非静的メンバーでなければなりません

次の演算子は、非静的メンバーとしてのみオーバーロードできます。

  • 代入 =

  • クラス メンバーに対するアクセス ->

  • 添字演算子 []

  • 関数呼び出し ()

考えられる C2801 の原因は次のとおりです。

  • オーバーロードされた演算子が、クラス、構造体、または共用体のメンバーではありません。

  • オーバーロードされた演算子が static と宣言されています。

  • 次の例では C2801 が生成されます。

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