我不明白为什么我不能使用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];
}
}
答案 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