排序 2022-12-05 17:20 采纳率: 100%
浏览 16
已结题

关于C++使用STLset自定义数据类型的排序时产生的编译错误,应该如何解决

关于C++使用STLset自定义数据类型的排序时产生的编译错误,应该如何解决。

#include<iostream>
#include<map>
#include<string>
using namespace std;

class Person
{
public:
    Person(string name, int age) :m_Name(name), m_Age(age) {}//传入参数列表的构造函数
    string m_Name;
    int m_Age;

};

class MyCompare
{
public:
    bool operator()(Person& p1, Person& p2)const
    {
        return p1.m_Age > p2.m_Age;//逆序排序
    }
};

int main()
{
    map <Person, int, MyCompare>m;

    Person p1("aaa", 40);
    Person p2("bbb", 30);
    Person p3("ccc", 20);
    Person p4("ddd", 15);
    
    m[p1] = 0;
    m.insert(pair<Person, int>(p2, 0));
    m.insert(map<Person, int>::value_type(p3, 0));
    m.insert(make_pair(p4, 0));
    system("pause");
    return 0;
}

  • 写回答

1条回答 默认 最新

  • yun6853992 2022-12-05 17:40
    关注

    应该是编译器防护加的比较好吧。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月13日
  • 已采纳回答 12月5日
  • 创建了问题 12月5日

悬赏问题

  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 C++行情软件的tick数据如何高效的合成K线
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。
  • ¥20 在easyX库下编写C语言扑克游戏跑的快,能实现简单的人机对战
  • ¥15 svpwm波形异常求解答