我无法编译这段相当简单的代码。我得到了错误信息:could not deduce template argument for 'std::basic_string<_Elem,_Traits,_Alloc> &&' from 'int'
。我需要传递一些自定义求和函数给accumulate吗?或者也许有更简单的方法来获得映射中所有第二个值的总和?谢谢!
#include <iostream>
#include <math.h>
#include <map>
#include <numeric>
int main()
{
map<int, int> m;
m[1] = 1;
m[2] = -1;
m[3] = 1;
m[4] = 2;
int sum = accumulate(m.begin(), m.end(), 0);
cout << sum;
return 0;
}