c – 带有lambda和auto的std :: max
发布时间:2020-12-16 07:07:56 所属栏目:百科 来源:网络整理
导读: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:函数原
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; }); 错误消息是: 解决方法
在C 1y中你有通用的lambdas,所以语法将在
clang 3.5中编译.lambda将如下所示:
class /* unnamed */ { public: template<typename T> T operator () (T a) const { return a; } }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |