gpt4 book ai didi

c++ - 如何用 lambda 排序?

转载 作者:IT老高 更新时间:2023-10-28 11:53:35 24 4
gpt4 key购买 nike

sort(mMyClassVector.begin(), mMyClassVector.end(), 
[](const MyClass & a, const MyClass & b)
{
return a.mProperty > b.mProperty;
});

我想使用 lambda 函数对自定义类进行排序,而不是绑定(bind)实例方法。但是,上面的代码会产生错误:

error C2564: 'const char *' : a function-style conversion to a built-in type can only take one argument

boost::bind(&MyApp::myMethod, this, _1, _2) 效果很好。

最佳答案

知道了。

sort(mMyClassVector.begin(), mMyClassVector.end(), 
[](const MyClass & a, const MyClass & b) -> bool
{
return a.mProperty > b.mProperty;
});

我认为它会发现 > 运算符返回一个 bool 值(根据文档)。但显然并非如此。

关于c++ - 如何用 lambda 排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5122804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com