首页 > 解决方案 > 向量(向量) 只生成偶数索引

问题描述

我尝试用“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

}

我究竟做错了什么 ?

标签: c++c++11

解决方案


e[i][degree+1]=0

您正在尝试将元素分配到向量的末尾。degree是 的最后一个有效索引e[i]


推荐阅读