我創建地圖這樣的:std::map<int, std::string> mapID;
地圖在C++給鑰匙,獲取字符串
輸入:的azazaz [1] =! 「串」;
我想用鍵打印元素是s。 例如
cout << "The string is : " << mapID.at(s)->second << endl;
OR
cout << "The string is : " << mapID.find(s)->second << endl;
但我有錯誤
error: no matching function for call to ‘std::map >::at(std::string&)’
UPDATE:
while(getline(file,s))
{
cout<< s << endl;
number = atoi(s.c_str());
cout << "The string is: " << mapID.at(number)<< endl;
}
請顯示[mcve]。 '1'顯然不是一個字符串,所以有些東西是可疑的,但我們需要看到更多的代碼來重現問題 – user463035818
如果mapID [1]不存在,它將在1處創建一個元素 – rak007
您列出的代碼不能產生給定的錯誤信息。請向我們展示實際的代碼或實際的錯誤消息。 (最好是我們可以剪切並粘貼到(例如)cpp.sh中的[mcve]) –