lambda函数中的Max_element
max_element in lambda function
我实现了这个函数,但它仍然给出以下错误,我不知道为什么…
/usr/include/c++/4.8/bits/stl_algo.h:6325: error: no match for call to '(Farm::killHeaviestAnimalOnFarm()::__lambda0) (Animal*&, Animal*&)' if (__comp(*__result, *__first)) ^
我在网上搜索了一些例子,我看不出我的有什么不同。
我的。cpp文件有如下killheavyestanimalonfarm
Animal *Farm::killHeaviestAnimalOnFarm()
{
auto minmax_widths = std::max_element(animals.begin(), animals.end(),
[] (Animal const& lhs, Animal const& rhs) {
return lhs.getWeight() < rhs.getWeight();
});
}
如果animals
是vector<Animal*>
,那么将lambda函数更改为:
auto minmax_widths = std::max_element(animals.begin(), animals.end(),
[] (Animal const * lhs, Animal const * rhs) {
return lhs->getWeight() < rhs->getWeight();
});
另一种选择是使animals
为vector<Animal>
,在这种情况下,lambda按原样工作。
相关文章:
- <streamsize>C++ 中 numeric_limits::max() 的值
- 黑客级别的Mini-Max Sum
- 'max'匹配'std::function<const int &(const int &, const int &)>'无过载
- 关于 std::min, std::max 中的比较运算符的混淆
- 找到一种有效的方法,在 2 个巨大的缓冲区上执行 MAX,每字节字节
- std::max() 函数与定点实现的比较中的问题
- 使用 CImg 库的 std::min 和 std::max 的编译问题
- 在 3ds Max 中更新进度条后,环境和效果 UI 不刷新
- 从自定义类获取对象向量中的 max 元素
- 如何在C++中递归地找到max元素的索引?
- SFINAE 与 numeric_limits<T>::max() 在 MSVC2017 上
- 这句话是什么意思 - " vector<long long> distance(n, std::numeric_limits<long long>::max()); "?
- 如何将 bsoncxx::d ocument::element 写入控制台
- 在f2c.h文件中定义min()max()宏时出错
- c++curl返回413请求实体过大,但是post大小远小于max大小
- 在枚举类型上使用std::max是不是一种糟糕的做法
- 为什么Visual Studio 2019不支持用于减少Openmp的关键字"max"?
- 没有函数模板的实例"max"与参数列表参数类型匹配(int、int)
- 如何在 C++11 中将 std::max 与自定义比较器一起使用?
- 为什么在这种情况下不能将 Max 用作函数?