enum Color { Red =0, Green=1, Blue=2 }; std::string ColorMap[] = { "Red", "Green","Blue" };
Use ColorMap[c]
to get a string representation:
std::string msg = "Invalid colour '" + ColorMap[c] + "' selected.";
However, if the enum values ββare not continuous, you can use std::map
instead:
enum Color { Red = 0x1, Green = 0x2, Blue = 0x4, Black = 0x8, }; //C++11 only, as it uses std::initializer_list std::map<Color, std::string> ColorMap = { {Red, "Red"}, {Green, "Green"}, {Blue, "Blue"}, {Black, "Black"} }; //same as before! std::string msg = "Invalid colour '" + ColorMap[c] + "' selected.";
Nawaz source share