20

如果一个声明的函数有一个noexcept说明符(noexcept, noexcept(true),noexcept(false)或任何其他noexcept(expr)计算结果为trueor false),但它是在另一个地方定义的,我需要noexcept在定义中再次指定说明符,还是只在其前向声明中指定说明符?

4

1 回答 1

21

[除了.spec]/p4:

如果函数的任何声明有一个异常规范,该规范不是允许所有异常的noexcept规范,则该函数的所有声明,包括定义和任何显式特化,都应具有兼容的 异常规范

noexcept(some-constant-expression-that-evaluates-to-false)可以省略。所有声明中都必须包含其他任何内容。

于 2015-04-21T15:31:02.587 回答