#include<iostream>
#include <set>
#include <string>
using namespace std;
//set容器排序 存放自定义数据类型
class Person
{
public:
Person(string name, int age)
{
this->m_Name = name;
this->m_Age = age;
}
string m_Name;
int m_Age;
};
class comparePerson
{
public:
bool operator()(const Person& p1, const Person& p2)
{
//按照年龄进行降序
return p1.m_Age > p2.m_Age;
}
};
void test01()
{
set<Person,comparePerson> s;
//创建Person对象
Person p1("刘备", 24);
Person p2("关羽", 28);
Person p3("张飞", 25);
Person p4("赵云", 21);
s.insert(p1);
s.insert(p2);
s.insert(p3);
s.insert(p4);
for (set<Person,comparePerson>::iterator it = s.begin();it != s.end();it++)
{
cout < "姓名: " << it->m_Name << "年龄: " << it->m_Age;
}
}
int main()
{
test01();
}
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/885162669626154.png)
循环(for语句)输出中,it->m_Name前面的左移运算符为什么会报错,请放到编译器中调试
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 八云黧 2021-07-22 23:06关注
因为你第一个左移少写了一个<,编译器把前面认作是表达式,所以在第二个左移运算符处报错,因为它左边不是cout而是一个布尔值
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 使用yolov5-7.0目标检测报错
- ¥15 对于这个问题的解释说明
- ¥200 询问:python实现大地主题正反算的程序设计,有偿
- ¥15 smptlib使用465端口发送邮件失败
- ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
- ¥15 对于squad数据集的基于bert模型的微调
- ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
- ¥20 steam下载游戏占用内存
- ¥15 CST保存项目时失败
- ¥20 java在应用程序里获取不到扬声器设备