栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C3848具有类型“const MyCompare”的表达式会丢失一些 const-volatile 限定符以调用“bool MyCompare::operator()(int,int)“

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C3848具有类型“const MyCompare”的表达式会丢失一些 const-volatile 限定符以调用“bool MyCompare::operator()(int,int)“

//set容器默认排序为从小到大,掌握如何改变排序规则
//利用仿函数,可以改变排序规则
#include
#include
using namespace std;
//仿函数:用类调用函数
//仿函数设计:
class MyCompare {
public:
	//下一行末尾加上const
	
	bool operator()(int v1, int v2)const {
		return v1 > v2;
	}
};
void test01() {
	sets1;
	s1.insert(10);
	s1.insert(40);
	s1.insert(30);
	s1.insert(50);
	s1.insert(20);
	for (set::iterator it = s1.begin(); it != s1.end(); it++) {
		cout << *it << " ";
	}
	cout << endl;

	//指定排序规则为从大到小
	//重新指定第一步,更改第二个默认值
	//注意:这里第二个默认值需求为类型,不可以是函数(函数名),故使用仿函数
	sets2;
	s2.insert(10);
	s2.insert(40);
	s2.insert(30);
	s2.insert(50);
	s2.insert(20);
	for (set::iterator it = s2.begin(); it != s2.end(); it++) {
		cout << *it << " ";
	}
	cout << endl;
}
int main() {
	test01();
}

黑马c++ p229 重新指定排序方式,仿函数出现问题,可能是vs2019必须要const加在仿函数后面

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316457.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号