读书人

map中的find如何总出错

发布时间: 2012-02-27 10:00:22 作者: rapoo

map中的find怎么总出错
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
map<string,string> tel_map;
for(int i=0;i<3;++i)
{
string name;
string num;
cin>>name>>num;
tel_map.insert(name,num);
}
map<string,string>::iterator it;
string find_name;
cin>>find_name;
it=tel_map.find(find_name);//似乎是这里有错误
if(it!=tel_map.end())
cout<<it->second<<endl;
return 0;
}

为了测试这个find随便写的一个小程序,编译的出现“error C2675: 一元“++”:“std::string”不定义该运算符或到预定义运算符可接收类型的转换”这样的错误。。
我写的一个比较长的程序,错误类型还不是这样的。。编译的时候没有错,但是,当设置断点的时候,到那里就提示是错误的指针。。请问哪位大侠帮帮我哦。。

[解决办法]
错误的是
tel_map.insert(make_pair(name,num));
你看看C++ Primer吧
我前天也才看到map的这个部分

读书人网 >C++

热点推荐