У меня есть массив, и я хочу функцию stl, которая может возвращать сумму положительного и сумму отрицательного числа.
#include <iostream>
#include <functional>
#include <numeric>
int myfunction (int x, int y)
{
if(y>0){
return x+y;
}
}
int main () {
int init = 0;
int numbers[] = {5,10,20,-34,56,-67,-32,16};
std::cout << "using custom function: ";
std::cout << std::accumulate (numbers, numbers+8, init, myfunction);
std::cout << '\n';
}
выводится значение мусора.
с использованием пользовательской функции: 4196215