您无法复制数组,因此您可以arr通过引用进行捕获,而不是实际需要它:
arr
for_each(arr, arr + 4, [&arr](int x) { cout << x; }); // ^^^
但是,由于您没有引用lambda主体中的数组,因此根本不需要捕获它:
for_each(arr, arr + 4, [](int x) { cout << x; }); // ^^^^