У меня есть следующая проблема:
std::map<A*,double> map;
void getColor(A const * obj){
double d = map[obj]; // does not compile wihtout const_cast<A*>(obj)
// do something
}
У меня есть карта std::map
(где-то), которая хранит указатели на объекты A
.
У меня есть функция getColor
, которая не выполняет манипулирует объектами A
и поэтому принимает указатель на ввод const A
.
Функция getColor
не будет компилироваться без использования const_cast.
Конструкция const - это проблема дизайна, но я не знаю, как обойти ее, если я не хочу делать ключи в map
const.
Любая помощь была оценена.