覆盖虚函数时的异常规范?

时间:2011-03-14 05:36:29

标签: c++

如果一个类继承自另一个并覆盖一个虚函数,那么派生(重写)函数的异常规范必须如何与基函数相关?

这是否必须至少具有限制性?对?或其他人?

2 个答案:

答案 0 :(得分:17)

是的,它必须至少具有限制性(§15.4/ 3):

  

如果虚函数具有异常规范,则包含任何函数的所有声明,包括定义   覆盖任何派生类中的虚函数只允许允许的异常   基类虚函数的异常规范。

答案 1 :(得分:4)

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf中的$ 15.4 p.5: “如果虚函数具有异常规范,那么在任何派生类中覆盖该虚函数的任何函数的所有声明(包括定义)都只允许允许的异常。 基类虚函数的异常规范“