나는 정수와 내가 만든 클래스가있는지도가 있습니다. 이제 목록의 각 요소의 정수를 변경해야합니다.C++지도 요소의 값을 변경하는 방법
std::map<int, Product> ProductList; //This is filled somewhere and can be accessed in my function
void remove()
{
std::map<int, Product>::iterator it = ProductList.begin();
for(; it != ProductList.end(); it++)
{
it->first = it->first - 1;
}
}
지금 내 컴파일러는 내가 잘못하고있는 중이 야 무엇
error: assignment of read-only member '
std::pair<const int, Product>::first
'
말한다 :
는이 같은 STH 생각? 각 요소의 정수에서 1
을 뺄 필요가 있습니다.
* (it)를 사용해 보셨습니까? 먼저? –
작동하지 않았습니다. 또한 나는 이것이 어떤 차이를 만들지 이해하지 못한다. – Davlog
int가 맵에서 클래스의 인덱스가되도록하려는 것 같습니다. -> 그냥 Vector를 대신 사용하십시오. –