3

那里说https://gcc.gnu.org/projects/cxx1y.html,自 gcc 4.9 起支持通用 lambda。

但我尝试了以下操作:

#include <iostream>

auto Identity = [](auto a) { return a; };

int main()
{
    std::cout << Identity(5) << std::endl;
}

并得到错误(-std=c++1y):

main.cpp:3:25: error: parameter declared 'auto'

 auto Identity = [](auto a) { return a; };

http://goo.gl/Omn8EA

gcc 4.9仍然不支持吗?或者我错过了一些参数?

4

1 回答 1

3

这是因为您使用的是预发布的 gcc 4.9 实验版,更改为已发布的 gcc 4.9 并且编译正常。 演示

于 2014-05-30T12:56:05.040 回答