这是一个简单的代码,对我不起作用。 我可以不在像Matlab这样的循环中保存矢量元素。我也 需要x以后增大。
#include<stdio.h>
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
int main()
{
int nxr,i;
double dxr,ll;
nxr = 2400;
lr = 0.6;
dxr = lr/nxr;
std::vector<double> x;
for (i=0;i<6;i++)
{
x[i]=(i+1)*dxr;
}
}
答案 0 :(得分:1)
在这里出界:
x[i]=(i+1)*dxr;
您的向量的大小为0.请调用push_back
或将其初始化为正确的大小:
x.push_back((i+1)*dxr);
或
std::vector<double> x(6);
答案 1 :(得分:1)
std::vector<double> x;
创建一个空向量,您必须使用push_back
添加元素或预先分配元素 - std::vector<double> x(6);
,然后使用operator []
。