打印带有void函数的2D char数组



我有一个2D字符数组,我试图用void函数打印它,但它显示了一个错误

#include <bits/stdc++.h>
void printt(int x, int y, char[][] matrix){
for(int i = 0; i< x; i++){
for(int j = 0; j<y; j++){
std::cout<<matrix[i][j];
}
}
}
int main(){
int n = 4,m = 4;
char mat[n][m];
for(int i = 0; i<n; i++){
for(int j = 0; j<m;j++){
std::cin>>mat[i][j];
}
}
printt(n,m,mat);
}

上面给出了代码。当我使用2个for循环时,它打印得很好。有人能告诉我我错在哪里吗?

谢谢

你不能像那样调用函数printt(mat);,函数需要3个参数,你只是给了1…定义为

void printt(int x, int y, char[][] matrix)

所以你必须这样做:

printt(n, m, mat);