編譯器警告 (層級 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 );
};
以下是可能的修正:
如果函式的目的是覆寫基類虛擬函式,請移除靜態規範。
如果函式是靜態成員函式,請重新命名它,使其不會與基類虛擬函式衝突。