struct cno{
int sub;
};
结构被视为地图中的关键变量。
map<cno,int> s;
struct cno k;
我正在尝试打印这样的键值。
for(map<cno,int>::iterator it = s.begin();it!=s.end();it++){
cout<<it->first<<endl;
}//Error
我已经超载&lt;运算符来比较键值。
答案 0 :(得分:1)
您需要做的就是(it->first.sub
)
for(map<cno,int>::iterator it = s.begin();it!=s.end();it++){
cout<<it->first.sub<<endl;
}
为什么呢? first
的类型为cno
,您需要访问所需的元素。
如果您已为此实现了重载运算符<<
,请在此处提供代码。
答案 1 :(得分:1)
这就是overload
运营商的方式:
ostream& operator<<(ostream& out,cno &c){
out<<c.sub<<endl;
return out;
}
您需要重载运算符才能打印,比较或处理用户定义的对象的元素。我们必须重载 ostream object以打印用户定义的对象。