如何正确的将多维数组作为参数传递给函数。
void ThisIsIllegal(int arr[][]); // Wrong!
void ThisIsAlsoIllegal(int arr[10][]); // Also wrong
void ThisIsIllegal(int arr[][10]); // Okay
The problem is that when passing multidimensional arrays as parameters in C++, you must specify the dimension of the outermost array.
如果想使用任意大小的数组参数,可以使用模板。如下:
template <size_t N, size_t M>
void ThisIsAlsoLegal(int (&arr)[M][N]);