У меня есть функция шаблона, которая работает с общим типом T в качестве входных данных. Я статически утверждаю, что T является перечислением.
Однако я хочу дополнительно ограничить его, чтобы перечисления в стиле C (т. е. без явного базового типа) не могли передаваться. В противном случае UB может возникнуть из-за приведения целых чисел за пределами диапазона перечисления к указанному перечислению в реализации.
Можно ли этого добиться? Если да, то как?
Подробнее здесь: https://stackoverflow.com/questions/786 ... lying-type