标题:这个代码为什么在VS里面出错了??
只看楼主
unmain
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-11-17
结帖率:100%
已结贴  问题点数:8 回复次数:3 
这个代码为什么在VS里面出错了??
搜索更多相关主题的帖子: 代码 VS 出错 
2019-08-04 16:56
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
有时间贴屁用没有的图,没时间贴代码?

回正题,加个 const 吧,我不能理解为什么有人不肯加,但C++17起,C++标准禁止了不加const的叉叉行为。
2019-08-05 11:02
PandaHero
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:19
专家分:70
注 册:2016-3-29
得分:0 
set<Student,myCompare>  sc;  改成  set<Student> sc;

或者 < 比较函数 再修改下

[此贴子已经被作者于2019-8-9 09:27编辑过]

2019-08-09 09:25
PandaHero
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:19
专家分:70
注 册:2016-3-29
得分:8 
回复 楼主 unmain
程序代码:
class Student
{
public:
    int ID;
    string Name;
    Student(int id=0 , const string& name="null")
        :ID(id),Name(name){}
};

class myCompare
{
public:
    bool operator () (const Student& s1 ,const Student& s2) const
    {
        return s1.ID < s2.ID;
    }

};


int _tmain(int argc, _TCHAR* argv[])
{
    set<Student,myCompare> sc;

    Student s1(10,"小名") , 
            s2(20, "小二");

    sc.insert(s1);
    sc.insert(s2);

    return 0;
}


[此贴子已经被作者于2019-8-9 09:41编辑过]

2019-08-09 09:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496225-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068632 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved