@oftywave

Как перебрать 2-ва enum class в 1 функции?

enum class abc_t
{
a,
b,
c,
};

enum class tde_t
{
t,
d,
e,
};

//для перебора одного перечисляемого типа
std::string test(abc_t function)
{
switch(function)
{
case abc_t::a: return "a";
// и т.д
}
}


есть ли возможность сделать примерно так ?
template<typename T>
std::string test(T function)
switch(function)
{
case abc_t::a: return "a";
case tde_t:t return "t";
}
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Никак. В C++ нет интроспекции. Так что решением может быть использование разного рода костылей вроде boost или подобных
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Нужно выкинуть этот код, забыть о нем и вернуться к задаче, которая решается таким причудливым образом.
Попутно можно вспомнить, к чему реально приводится enum.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы