下面有什么问题
int data[2][2] = { {1,1}, {2,2}};
int sum = sum(data, 2);
总和定义为
int sum(int **data, int rows);
data 包含 的地址data[0]
,因此可以将其视为指针。将*data
我引向值,它是另一个类型的数组int
。这个另一个数组应该被视为指向第一个元素的指针。因此,为什么编译器会抱怨 int 的参数**data
?
我收到如下所示的编译器错误。我理解这个错误,但我的问题是为什么**data
不可接受。
error: cannot convert int (*)[2] to int** for argument 1 to int sum(int**, int)