sort(mMyClassVector.begin(), mMyClassVector.end(),
[](const MyClass & a, const MyClass & b)
{
return a.mProperty > b.mProperty;
});
字符串
我想使用lambda函数来排序定制类,而不是绑定示例方法。但是,上面的代码会产生错误:
错误C2564:'常量字符 *':到内置类型的函数样式转换只能使用一个参数
与boost::bind(&MyApp::myMethod, this, _1, _2)
配合使用时效果很好。
4条答案
按热度按时间baubqpgj1#
明白了
升序:
字符串
降序:
型
当使用比
C++20
更旧的标准时,可以使用std::sort(mMyClassVector.begin(), mMyClassVector.end(), ...)
。f0brbegy2#
您可以这样使用它:
字符串
lp0sw83n3#
问题可能出在“a.mProperty > b.mProperty”行上吗?下面的代码可以正常工作:
字符串
输出为:
型
7cjasjjr4#
你可以像这样对数组排序:
个字符
我总是喜欢在acm竞赛中使用lambda对结构体数组进行排序,如下所示:
型