#include
#include
#include
#include
int reduce (std::list l,std::function f,int start){
int sum=start;
for(auto i1=l.begin();i1!=l.end();++i1){
auto i2=++i1;
sum+=f((*i1),(*i2));
++i2;
}
return sum;
}
int main(){
std::list list{11,4,5,12,6,8,9};
auto a=[](int a,int b){return a+b+1;};
int start=-12;
int o=reduce(list,a,start);
std::cout
Подробнее здесь: https://stackoverflow.com/questions/748 ... -arguments
Мобильная версия