C/C++关于在函数中使用数组的问题


代码如下:


 char brr[1][1]={1};
bool solve(int X,int Y,char *arr){
  brr[X][Y]='*';
  arr[X][Y]='*'; //错误:invalid types 'char[int]' for array subscript
}
int main()
{

    return 0;
}

我想把数组名作为实参,指针或者数组名作为形参,但是为什么brr不会报错,而arr会报错呢?如果我想在以上函数中对传入的arr进行修改,应该怎么做才可以呢?

c C++ 数组

昵称带鸡没法起 10 years, 2 months ago

这里定义就不一样。
char brr[1][1]是二维数组,char *arr是字符指针,你想使用arr[x][y]这种形式要申明成char **arr才行

asdcfd answered 10 years, 2 months ago


 bool solve(int X,int Y,char **arr)

二维数组 **arr

AlexL answered 10 years, 2 months ago

Your Answer