据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; };
这是gcc 4.9还不支持的吗?或者我忽略了一些参数?