0
2つの2D double行列を連結する簡単な関数を書こうとしました。2つのdouble行列を連結する
double** concat(double **upmat,double **lowmat,int row,int col,int filecount)
{
double **temp=new double* [filecount*row];
for(int i=0;i<row*filecount;i++){
temp[i]=new double [col];
}
if (filecount>1)
std::copy(upmat,upmat+(filecount-1)*row*col,temp);
std::copy(lowmat,lowmat+row*col,temp+(filecount-1)*row*col);
return temp;
}
この関数は、2次元ポインタを返します。そのポインタからデータにアクセスしようとすると、無効なメモリアクセスエラーが表示されます!!
forループは 'row'行か' filecount * row'行ですか? – stark
@starkありがとうございました。 –
@Starkこれで、上位の行列の内容がコピーされます。下の行列はありません!!これで私を助けてくれますか? –