ここで私はそれを見つけました:
継承コンストラクター [...] は、noexcept(false) である関数を呼び出す必要がない限り、デフォルトですべて noexcept(true) です。その場合、これらの関数は noexcept(false) です。
次の例では、継承されたコンストラクターが、基底クラスのようにnoexcept(true)
明示的に定義されているにもかかわらず、それ自体が呼び出されるnoexcept(false) である関数と見なされるということですか?noexcept(false)
struct Base {
Base() noexcept(false) { }
};
struct Derived: public Base {
using Base::Base;
};
int main() {
Derived d;
}