такой код?
struct NonDefaultConstructible {
NonDefaultConstructible(int) noexcept;
};
struct A {
struct B {
NonDefaultConstructible ndc = initializer();
};
static_assert(is_nothrow_default_constructible_v<B>);
static int initializer() noexcept;
};
https://gcc.godbolt.org/z/uELmXH
чтобы понять будут в ли в default-инициализации B использоваться не noexcept операции, нужно видеть сигнатуру функции initializer(), а она определена ниже static_assert-а
Обсуждают сегодня