连接两个双矩阵

时间:2016-05-02 19:33:12

标签: c++ pointers

我尝试编写一个简单的函数来连接两个2D双矩阵。

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;
}

此函数返回2D指针。当我尝试从该指针访问数据时,它显示无效的内存访问错误!!

1 个答案:

答案 0 :(得分:0)

temp,low和high都是double**(指向double的指针),但你执行std :: copy就好像它们是double*(指向double的指针)。