【发布时间】:2020-12-26 20:27:56
【问题描述】:
我想写一个函数calc(array, n1 , n2)
array 是一个整数向量。 n1 和 n2 参数是由关系 0<= n1<= n2<array.size() 定义的整数。
calc 方法应该返回索引属于[n1; n2] 区间的数组的整数之和。
我尝试了这段代码,但它不正确
class Answer {
public:
static int cal(const vector<int>& array, int n1, int n2) {
int sum = 0;
for (vector<int>::iterator it = array[0]+n1; it != array[0]+n2; ++it)
{
sum + = *it;
}
return sum;
}
};
【问题讨论】:
-
如果你想使用几乎相同的代码,你应该使用
array.begin()而不是array[0]和vector<int>::const_iterator而不是vector<int>::iterator,因为你通过一个常量引用传递它。
标签: c++ algorithm vector sum function-definition