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> myMapAufgegeben 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_iffunktioniert nicht mit assoziativen Containern, da es die Range neu ordnet.Probier mal
myMap.erase(myMap.begin(), myMap.lower_bound(mean));