gpt4 book ai didi

c++ - std::max 与 lambda 和 auto

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:17:44 24 4
gpt4 key购买 nike

C++11 难道不能做到这一点吗?
使用当前的 clang 编译器(OS X 10.8 上的 Xcode 5)无法编译:

std::max_element(group->GetComponents().begin(), group->GetComponents().end(),
[](auto a, auto b) { return a.length > b.length; });

错误信息是:Stuff.cp:68:40:函数原型(prototype)中不允许使用“auto”

最佳答案

在 C++1y 中你有通用的 lambda,所以语法将在 clang 3.5 中编译。 . lambda 将如下所示:

class /* unnamed */
{
public:
template<typename T>
T operator () (T a) const { return a; }
};

关于c++ - std::max 与 lambda 和 auto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21944673/

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