我在这里发现:链接:
这是否意味着在以下示例中,即使基类中已明确定义为继承构造函数[...] 默认情况下都是 noexcept(true),除非它们需要调用一个 noexcept(false) 的函数,这种情况下,这些函数就会变成 noexcept(false)。
noexcept(false)
,继承的构造函数也被视为自己要调用的 一个 noexcept(false) 的函数,因此是 noexcept(true)
?struct Base {
Base() noexcept(false) { }
};
struct Derived: public Base {
using Base::Base;
};
int main() {
Derived d;
}