好的,这次我有一个并不总是出现的非常奇怪的错误。这是实际包含问题的函数。它所做的只是对向量的元素求和。它在大多数情况下都有效,但在少数情况下,它往往会变得非常有问题。
int sumvec(vect v) {
int i = 0;
int sum = 0;
int l = v.length();
std::cout << "Sum of vector " << v.tostring(3) << std::endl;
for (; i < l; i++) {
sum += v[i];
std::cout << v[i] << " " << sum << " ";
};
std::cout << std::endl;
return sum;
}
这里vect
是使用定义的typedef alglib::real_1d_array vect;
。好的,那我会得到什么?呵呵..
Sum of vector [1.000,1.000,0.000,1.000,1.000,1.000]
1 0 1 0 0 0 1 0 1 0 1 1
什么?!!!!!