我是一个新的C++,从matlab切换到更快地运行模拟。
我想初始化一个数组,并用零填充。用cpp初始化数组和用零填充
# include <iostream>
# include <string>
# include <cmath>
using namespace std;
int main()
{
int nSteps = 10000;
int nReal = 10;
double H[nSteps*nReal];
return 0;
}
它产生一个错误:
expected constant expression
cannot allocate an array of constant size 0
'H' : unknown size
你怎么做这个简单的事情?是否有一个命令库,如MATLAB:
zeros(n);
'std :: vector H(nSteps * nReal);' –
UmNyobe
C风格的数组主要出于历史原因,尽量避免它们。它们具有奇怪的行为,例如不能在运行时设置大小,并导致堆栈溢出。 –
将'const' /'constexpr'添加到两个尺寸应该可以解决您的问题。 – Jarod42