二维数组做参数 却在函数中用了new怎么处理
二维数组做参数 却在函数中用了new怎么办?
void kuozhang(int ** ride)
{
ride=new int *[4];
for(int i=0;i <4;i++)
{
ride[i]=new int[4];
}
ride[2][2]=68;
}
void main
{
int ** du;
kuozhang(du);
ASSERT(ride[2][2]==68)//无法通过怎么办?
}
------解决方案--------------------
void kuozhang(int ** &ride)
------解决方案--------------------
void kuozhang(int *** ride)
{
*ride=new int *[4];
for(int i=0;i <4;i++)
{
(*ride)[i]=new int[4];
}
(*ride)[2][2]=68;
}
void main
{
int ** du;
kuozhang(&du);
ASSERT(du[2][2]==68)//无法通过怎么办?
}
void kuozhang(int ** ride)
{
ride=new int *[4];
for(int i=0;i <4;i++)
{
ride[i]=new int[4];
}
ride[2][2]=68;
}
void main
{
int ** du;
kuozhang(du);
ASSERT(ride[2][2]==68)//无法通过怎么办?
}
------解决方案--------------------
void kuozhang(int ** &ride)
------解决方案--------------------
void kuozhang(int *** ride)
{
*ride=new int *[4];
for(int i=0;i <4;i++)
{
(*ride)[i]=new int[4];
}
(*ride)[2][2]=68;
}
void main
{
int ** du;
kuozhang(&du);
ASSERT(du[2][2]==68)//无法通过怎么办?
}