編譯器錯誤 C2382
'function' : 重新定義;不同的例外狀況規格
此錯誤表示函式多載只在例外狀況規格上嘗試。
備註
根據預設,編譯程式會將 noexcept
規格視為等於 throw()
或 throw(some_type)
規格。 在下 /Za
,此檢查更為嚴格。
若要解決此問題,請將函式的所有宣告和定義(或特定函式多載)變更為使用相同的例外狀況規格。
範例
下列範例會產生 C2382:
// C2382.cpp
// compile with: /Za /c
void f1(void) noexcept {}
void f1(void) {} // C2382
void f2(void) throw() {} // OK