编译器错误 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