3

次のコードは、ほとんどのコンパイラでコンパイルに失敗します:

#include <type_traits>

class Foo
{
    public:
    Foo() noexcept {}
    ~Foo() noexcept(false) {}
};

static_assert(std::is_nothrow_default_constructible_v<Foo>);

CppReference、これはコンパイラの実装では一般的であると述べていますが、代替手段は提供していません。デストラクタが結果に影響を与えることなく、コンストラクタが noexcept であるかどうかをテストするにはどうすればよいですか?

4

1 に答える 1