我是一個新的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