c++不能直接返回数组,可以返回指针,指针指向一个地址。
float **convertVector2array(vector<float> v, int rows, int cols)
{
int seq = 0;
//二维数组申请空间
float **outdata_array;
outdata_array = new float *[rows];
for(int i = 0;i<rows;i++){
outdata_array[i] = new float[cols];
}
//循环赋值
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
outdata_array[i][j] = v[seq];
seq++;
}
}
return outdata_array;
}
用完了需要及时释放内存
void free_2D_array(float **array, int rows)
{
for (int i = 0; i < rows; i++)
{
delete[] array[i];
}
delete[] array;
}