使用 void 函数打印二维字符数组

print 2D char array with void function

我有一个 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);