remove_if mit map?
-
Ich habe folgende Map und würde gerne alles entfernen was kleiner "mean" (Der Wert) ist:
std::map<unsigned int, unsigned int> myMap
Aufgegeben habe ich hiermit:
std::remove_if(myMap.begin(), myMap.end(), [&mean](std::pair<const unsigned int, unsigned int>& p) { return p.second < mean ? true : false; });
Ich erhalte beim kompilieren immer irgendwelche const-Fehler. Wie lautet die korrekte Syntax
-
remove_if
funktioniert nicht mit assoziativen Containern, da es die Range neu ordnet.Probier mal
myMap.erase(myMap.begin(), myMap.lower_bound(mean));