我是lambda表达式的新手,并且很困惑为什么我在这里得到错误?数组初始化需要一个大括号初始化列表lambda
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr[] = { 11, 21, 4, 13 };
for_each(arr, arr + 4, [arr](int x) {
cout << x;
});
return 0;
}
我只是为这个函数添加LAMBDA。
void fun1(int x)
{
cout << x << " ";
}
这是Visual Studio的错误消息。
'main::<lambda_4ee0815d3a456ed46cc70a2a94c10f76>::arr':
array initialization requires a brace-enclosed initializer list Project1
Ey,使用C数组引起的又一个问题!说真的,只要使用'std :: array',如果你有C++ 11的话。 –
是否需要'arr'?不['](int x){...'是否工作? – 4386427