string color::getColorText() const {
return colors[cColortype];
}
The issue is that you’ve marked the function as const
. The operator[]
on std::map
is marked as non-const, and cannot be used in a const function like this. You need to manually use std::map::find
(or other mechanism) to search for the input type and handle the case where it’s not found.
If you’re using C++11, you can instead use std::map::at
, which IS allowed to be used on a constant map, and throws an exception if the requested element is not present.