KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I used this code: enum E { E1, E2, E3, MaxNum }; const char * ENames[ MaxNum ] = { "E1", "E2", "E3" }; and had no problem. Now I want to use "modern" enum class . The code now looks like this: enum class E { E1, E2, E3, MaxNum }; const char * ENames[ E::MaxNum ] = { "E1", "E2", "E3" }; and got an error error: size of array ‘ENames’ has non-integral type ‘E’ error: too many initializers for ‘const char* [1]’ Q: why enum class does become non-integral in c++11, while usual enum is integral ? What is a decision of a problem ? How can I declare an array with size, that is one of enumeration in enum class ? Here - http://ideone.com/SNHTYe - is a simple example. Thank you.
Tags (comma-separated)
Save Edits
Cancel