У меня есть следующая программа, она не компилируется, я верю в это, потому что она пытается выполнить begin (), end () для типа int, т.е. примитивного типа.Возможно, мне нужен тип объекта.Я прав здесь?Как я могу это исправить, я хочу использовать лямбда здесь.
#include <iostream>
#include <algorithm>
using namespace std;
int main(void) {
int N, i;
cin >> N;
int numArray[N]; // Define an array of four integers
// Get inputs for the array elements
for (i=0;i<N; i++) {
cin >> numArray[i];
}
int sum = 0;
// Write here the logic to add these integers:
for_each(begin(numArray), end(numArray), [&](int n){ sum += n; });
cout << sum << endl; // Print the sum
return 0;
}
ошибка компиляции-
main.cpp:22: error: no matching function for call to 'begin(int [N])'
for_each(begin(numArray), end(numArray), [&](int n){ sum += n; });
^