#cpp
Можно ли как-нибудь проверить, является ли тип перечислением, т.е. enum или enum class?
Ответы
Ответ 1
#include#include class A {}; enum E {}; enum class Ec : int {}; int main() { std::cout << std::boolalpha; std::cout << std::is_enum::value << '\n'; std::cout << std::is_enum ::value << '\n'; std::cout << std::is_enum ::value << '\n'; std::cout << std::is_enum ::value << '\n'; } Ну, или std::cout << std::is_enum() << '\n'; std::cout << std::is_enum () << '\n'; std::cout << std::is_enum () << '\n'; std::cout << std::is_enum () << '\n'; Ответ 2
Начиная с C++11 — да. Это можно сделать с помощью шаблонного класса std::is_enum в заголовочном файле type_traits.
Комментариев нет:
Отправить комментарий