如何检查类型是否是枚举类?

Pie*_*tro 5 c++ enums enum-class

使用以下代码,我可以在编译时检查类型 E 是否为枚举:

static_assert(true == std::is_enum<E>::value, "Must be an enum");
Run Code Online (Sandbox Code Playgroud)

我如何检查它是否是一个enum class

在这里他们建议添加 check !std::is_convertible<T, int>::value,但它看起来像一个技巧。有没有更好的办法?