2014-10-25 2 views
0

Я не понимаю, почему я не могу распечатать этот массив символов, используя функцию void print_board, которая принимает в качестве символьного массива параметр, инициализирует его и печатает. Дает мне [Ошибка] неверное преобразование из 'char' в 'char () [8]' [-fpermissive] [Ошибка] инициализирующий аргумент 1 из 'void print_board (char () [8])' [-fpermissive ]Печать 2-мерного массива символов в C++

Что мне не хватает или что-то не так?

#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

В основной функции вы не передача массива заголовка правильно плюс функция должна быть, как это

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

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

Для получения более детальной информации посетите Passing a 2D array to a C++ function

+0

его: print_board (доска [8] [8]) –

+0

Добавляем 'cout <<" \ n ";', когда конец '' '' '' '' '' заканчивается, чтобы печатать его как панель, если хотите – Shravan40

+0

Большое спасибо, я получил его сейчас <3 –

0

Вы проходите мимо [8] [8], который имеет тип char.

print_board ожидает, что массив char [8] задан вашим определением функции.

Изменение взывание к print_board(board);

+0

его массив должен хранить символы. –

+0

да доска - это массив ... – igon

+1

lol Я получил его. СПАСИБО <33 –

Смежные вопросы