typedef std::multimap StringFloatMap; StringFloatMap coll; StringFloatMap::iterator pos; ... for (pos = coll.begin(); pos != coll.end(); ) { if (pos->second == value) { pos = coll.erase(pos); // Õîðîøî áû, íî... } // ïðîèñõîäèò ÎØÈÁÊÀ ÊÎÌÏÈËßÖÈÈ! else { ++pos; } }