在c ++中打印2维char数组

时间:2014-10-25 15:40:42

标签: arrays multidimensional-array char

我不明白为什么我不能使用void函数print_board打印出这个字符数组,该函数将字符数组作为参数,启动它并打印它。给我 [错误]从'char'无效转换为'char()[8]'[-fpermissive] [错误]初始化'void print_board(char()[8])'[-fpermissive]

的参数1

我在这里错过了什么或做错了什么?

 #include <iostream>
 using namespace std;
 void print_board(char [8][8]);


 int main() {
 char board[8][8];
 print_board(board[8][8]);

return 0;
}


void print_board(char board[8][8])
{

for(int i = 0;i<8;i++)
    for(int j = 0; j<8; j++)
    {

    board[i][j] = '.';
    cout<<board[i][j];
    }



   }

2 个答案:

答案 0 :(得分:0)

你正在传递董事会[8] [8],这是char的类型。

print_board需要一个char [8]数组,给出你对函数的定义。

将调用更改为print_board(board);

答案 1 :(得分:0)

在main函数中,你没有正确传递数组,而且函数头应该是这样的

print_board(board); // This should be in main

void print_board(board[][8])
{
    // Do something
}

有关详细信息,请访问Passing a 2D array to a C++ function