У меня есть переменная, объявленная как:Как узнать базовый тип перечисления класса?
enum class FooEnum: uint64_t {}
, и я хотел бы, чтобы бросить его базового типа, но я не хочу жёстко базового типа. Например, примерно следующее:
FooEnum myEnum;
uint64_t * intPointer = (underlying_typeof(myEnum))&myEnum;
Возможно ли это?
http://stackoverflow.com/questions/28002/regular-cast-vs-static-cast-vs-dynamic-cast литье, в частности, динамический – L7ColWinters
@ L7ColWinters ' dynamic_cast' не может помочь. Не позволяйте ключевому слову 'class' и': uint64_t 'вводить вас в заблуждение, думая, что области и перечисления типов перечислены аналогично наследованию класса. –