내가 이 맵이 같은 만든이 : std::map<int, std::string> mapID;
지도 문자열에게 열쇠를주고받을 ++
INPUT :의 mapId [1] = "! 문자열";
키를 사용하여 요소를 인쇄하고 싶습니다. 예를
cout << "The string is : " << mapID.at(s)->second << endl;
또는
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
나열된 코드는 주어진 코드를 생성 할 수 없습니다 에러 메시지. 실제 코드 또는 실제 오류 메시지를 알려주십시오. (바람직하게는 [mcve]와 같이 잘라내어 cpp.sh와 같이 붙일 수 있습니다.) –