这可能很容易,但我已经醒了太久了。
所以我有一张地图< int,string>我正在尝试使用函数find
iter=mapInKey.find(int)->second;
if (iter != mapInKey.end() )
{
outFileTxt << iter;
}
但是我收到了这个错误:no matching function for call to std::map<int, std::basic_string<char> >::find(std::string&)
我想要做的就是输出int
的另一对值答案 0 :(得分:2)
喜欢这个
std::map <int,std::string>::iterator it = mapInKey.find( val ); //val is the integer key you search for
if(it != mapInKey.end()){
// do something
cout<< it->second; // this will print the string
}
修改强>
我想你想用字符串搜索。然后你宣布地图错了。使用此
map<string,int> m;
m["Hi"]= 1;
m["Hello"]= 2;
map<string,int>::iterator it = m.find("Hello");
if(it != m.end())
{
cout<< it->first<<":"<<it->second<<endl;
}