如何将多维数组传递给C和C ++中的函数
#include<stdio.h>void print(int *arr[], int s1, int s2) { int i, j; for(i = 0; i<s1; i++) for(j = 0; j<s2; j++) printf("%d, ", *((arr+i)+j));}int main() { int a[4][4] = {{0}}; print(a,4,4);}
这适用于C,但不适用于C ++。
错误:
cannot convert `int (*)[4]' to `int**' for argument `1' to `void print(int**, int, int)'
为什么它在C ++中不起作用?需要做出哪些改变?
慕姐4208626