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:函数原型中不允许'auto'
答案 0 :(得分:1)
在C ++中你有一般的lambdas,所以语法将在clang 3.5中编译。 lambda将如下所示:
class /* unnamed */
{
public:
template<typename T>
T operator () (T a) const { return a; }
};