#9711: 如何在副程式更改傳遞的雙指標內容


a2983456 (小米)


int main()
{
int **a;
sub(a);
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
printf("%d",a[i][j]);
}

void sub(int **a)
{
int **b=new int*[2];
for(int i=0;i<2;i++)
{
b[i]=new int[2];
for(int j=0;j<2;j++)
b[i][j]=5;
}
a=b;
}
 
 程式如上,這樣會發生錯誤,如果只能改 void sub(int **a)和a=b;,其他不能改變,要如何寫才正確?