如何在具有用户给定长度的方法中创建一个数组?我想用随机数填充用户给定长度的向量。
double* Random::quasiRandomUnif(float a, float b, int NN)
{
int i, errcode;
N_=NN; // here initialize the member N_
float r[N_];
VSLStreamStatePtr stream;
int i, errcode;
errcode = vslNewStream( &stream, BRNG, SEED );
errcode = vsRngUniform( METHOD, stream, N_, r, a, b );
double* rd = new double[m_N];
for(int i=0;i<m_N;i++)
rd[i]=(double)r[i];
errcode = vslDeleteStream( &stream );
return rd;
}
我想到了 N_ 类 Random 的成员,在这个函数的主体中初始化,并带有一些用户给定的值——不可能,因为在数组中分配的空间应该是一个常量。如何处理?
亲切的问候。