c++ - 向量(向量) 只生成偶数索引
问题描述
我尝试用“max_step”行和“degree”列生成一个动态矩阵。但是向量元素的索引不是 0,1,2,3....max_step。
我总是得到 0,2,4,...max_step。
如果我想(逻辑)访问第 3 行,我会(当然)得到一个错误(free() 无效指针)或类似的。
vector<double> qd_algorithm(const std::function<vector<double>()>& poly, const unsigned int max_steps, const unsigned int degree)
{
vector<vector<double>> e(max_steps, vector<double>(degree+1));
for (unsigned int i=0;i<max_steps;i++)
{
e[i][0]=0;
e[i][degree+1]=0;
}
//stop point debugging
return poly(); //just for trying
}
我究竟做错了什么 ?
解决方案
e[i][degree+1]=0
您正在尝试将元素分配到向量的末尾。degree
是 的最后一个有效索引e[i]
。