那里说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仍然不支持吗?或者我错过了一些参数?