есть идеи, как это сделать для шаблона? спасибо
Например, Combine(<list containing 6,3,1,9,7>, std::plus<int>()) следует рассчитать ((((6+3)+1)+9)+7).
Combine(<list containing 6,3,1,9,7>, std::plus<int>())
((((6+3)+1)+9)+7)
Combine(const Container& c, Function fn) throw (NotEnoughElements) { your code goes here }
returnstd::accumulate(c.begin()+1, c.end(), *(c.begin()), fn);
return
std::accumulate
(c.begin()+1, c.end(), *(c.begin()), fn);
(Обработка ошибок оставлена в качестве упражнения для OP и считывателя.)