建議使用 Visual Studio 2017

編譯器錯誤 C2801

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

'operator 運算子' 必須為非靜態成員

下列的運算子可以多載只能以非靜態成員︰

  • 工作分派=

  • 類別成員存取->

  • Subscripting[]

  • 函式呼叫()

可能發生 C2801 的原因︰

  • 多載的運算子不是類別、 結構或等位成員。

  • 宣告多載的運算子static

  • 下列範例會產生 C2801:

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

顯示: