共用方式為


編譯器警告 (層級 1) C4526

'function':靜態成員函式無法覆寫虛擬函式 'virtual function'override ignored,虛擬函式將會隱藏

靜態成員函式符合覆寫虛擬函式的準則,讓成員函式同時成為虛擬和靜態函式。

下列程式碼會產生 C4526:

// C4526.cpp
// compile with: /W1 /c
// C4526 expected
struct myStruct1 {
   virtual void __stdcall func( int ) = 0;
};

struct myStruct2: public myStruct1 {
   static void __stdcall func( int );
};

以下是可能的修正:

  • 如果函式的目的是覆寫基類虛擬函式,請移除靜態規範。

  • 如果函式是靜態成員函式,請重新命名它,使其不會與基類虛擬函式衝突。