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

另请参阅

/Za(禁用语言扩展)