int** function()
{
int M[2][2] = {{1,2},{3,4}};
return (int **)M; //is this valid?
}
void anotherFn()
{
int **p = new int*[2];
for(int i = 0; i<2; i++) {
p[i] = new int[2];
}
p = function();
cout << p[0][0];
}
上面的代码编译但给出了运行时错误。那么,只有当它被声明为双指针时,我才能返回一个二维数组,还是有什么方法可以将一个数组作为二维指针返回?