看看这个错误怎么修改?

markfilan markfilan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include<map>
#include<vector>
#include<string>
#include<iostream>
#include<utility>
using namespace std;
int main()
{
typedef pair<string,string> child;
typedef vector<child> children;
typedef string surname;
map<surname,children> family;
family["a"].push_back("a1");
family["b"].push_back("b1");
family["b"].push_back("b2");
family["c"].push_back("c1");
family["c"].push_back("c2");
family["c"].push_back("c3");
family["d"].push_back("d1");
family["d"].push_back("d2");
family["d"].push_back("d3");
family["d"].push_back("d4");
family["e"].push_back("e1");
family["e"].push_back("e2");
family["e"].push_back("e3");
family["f"].push_back("f1");
family["f"].push_back("f2");
family["g"].push_back("g1");
family["a"].push_back(make_pair(string("a1"),string("01/02")));
family["b"].push_back(make_pair(string("b1"),string("02/02")));
family["b"].push_back(make_pair(string("b2"),string("03/03")));
family["c"].push_back(make_pair(string("c1"),string("04/04")));
family["c"].push_back(make_pair(string("c2"),string("05/05")));
family["c"].push_back(make_pair(string("c3"),string("06/06")));
map<surname,children>::iterator mi;
children::iterator vi;
string s;
for(mi=family.begin();mi!=family.end();++mi)
{
s=mi->first;
cout<<s<<endl;
for(vi=mi->second.begin();vi!=mi->second.end();++vi)
cout<<s<<"\t"<<vi->first<<"\t"<<vi->second<<endl;
}
string name;
cout<<"Please enter family name:";
cin>>name;
while(!name.empty())
{
cout<<name<<endl;
for(vi = family[name].begin();vi!=family[name].end();++vi)
{
cout<<name<<"\t"<<*vi<<endl;
cout<<"Please enter family name:";
cin>>name;
}
}
return 0;
}C:\Documents and Settings\Administrator\my.cpp(53) : error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,cl
ass std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >' (or there is no acceptable conversion)
执行 cl.exe 时出错.
这个错误怎么办?
报错:
...全文
评论 15
收藏 已收藏
分享
返回顶部
markfilan
C++ 语言 65,214 成员 250,514 内容