我是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