remove_if в мапе
От: Аноним  
Дата: 06.02.14 05:29
Оценка:
int main(){

  std::map <int,char*> mapA;

  mapA[1] = "55";
  mapA[2] = "66";
  mapA[3] = "77";

  std::map<int,char*>::iterator it =

      std::remove_if(mapA.begin(),
                  mapA.end(),
                 [](std::pair<int,char*> _p)
  {
    int i  = _p.first;
    return  (i == 2);
  });

  mapA.erase(it,mapA.end());

  return 0;
  }


Не совсем понятно почему оно выдаёт

stl_pair.h:170: ошибка: assignment of read-only member 'std::pair<const int, char*>::first'

И как с этим бороться.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.