【问题标题】:print 2D char array with void function使用 void 函数打印二维字符数组
【发布时间】:2021-01-26 15:48:08
【问题描述】:

我有一个 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 循环时,它打印得很好。谁能告诉我哪里错了?

谢谢

【问题讨论】:

  • 标准 c++ 不允许变长数组。此外,char[][] 并没有达到您的预期。建议使用调试器进行探索并研究有关参数的数组声明。

标签: c++ function multidimensional-array printing void


【解决方案1】:

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

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

所以你必须这样做:

printt(n, m, mat);

【讨论】:

  • 我已经这样做了,但它仍然显示错误“多维数组必须具有除第一个以外的所有维度的边界”
猜你喜欢
  • 2017-12-29
  • 1970-01-01
  • 2018-09-29
  • 1970-01-01
  • 2016-02-15
  • 1970-01-01
  • 2021-03-17
  • 2019-10-24
  • 2014-12-21
相关资源
最近更新 更多