我有一個像 typedef map<int32_t,std::vector<int32_t>> myMap
刪除從矢量值的關鍵
地圖我添加矢量值相對於關鍵像
myMap[somePointer->getVal()].push_back(Id1);
myMap[somePointer->getVal()].push_back(Id2);
myMap[somePointer->getVal()].push_back(Id3);
myMap[somePointer->getVal()].push_back(Id4);
如果我想刪除什麼密鑰的矢量值? 我試過 myMap[somePointer->getVal()].erase(Id1)
但是,這個編譯器哭着有錯誤。
你知道multimap嗎? http://www.cplusplus.com/reference/map/multimap/ – Geoffroy
告訴我們錯誤 – billz
@billz:同意,錯誤總是有幫助的,應該是必需的。對於熟悉矢量接口的人來說,這個特殊情況很明顯,問題是試圖「擦除」一個值,而不是迭代器......但是:當請求編譯器錯誤時,請提供錯誤消息!* –