devxlogo

Assigning an Integer Value to an Enumeration

Assigning an Integer Value to an Enumeration

C++ doesn’t allow you to assign integer value to an enumeration directly:

 enum Direction (Up, Down};Direction dir;Dir=0; // error, can't assign int to enum type

However, you can use static_cast to explicitly cast an int value to an enumeration.

 dir=static_cast  (0); // OK

If the int value is beyond the valid ranges of the enumeration, the results are undefined. Therefore, use this technique with caution:

 dir=static_cast  (5); // undefined behavior

devx-admin

Share the Post: