#c
#c
Вопрос:
Я создал игру connect 4, в которой игрок может выбирать количество строк и столбцов. это моя функция — ставить отметку игрока на доске:
void get_and_check_place_on_the_board (char player_sign, char board[][25], int columns_number, int rows_number, int place_on_board)
{
int column_chosen;
while (place_on_board[0] == -1)
{
do {
printf(game_messages[MSG_GET_COLUMN]);
scanf("%d", amp;column_chosen);
} while (column_chosen <= 0 amp;amp; column_chosen > columns_number);
for (int i = rows_number - 1; i >= 0; i--)
{
if (board[i][column_chosen - 1] == ' ')
{
board[i][column_chosen - 1] = player_sign;
place_on_board[0] = i;
place_on_board[1] = column_chosen - 1;
return;
}
}
printf("column full");
}
}
знак игрока равен «R» или «Y», игрок сам определяет количество строк и столбцов (не более 25), а место на доске представляет собой массив, инициализированный значением {-1, -1}.
Компилятор сообщает, что: «значение с подпиской не является ни массивом, ни указателем, ни вектором», и что: «параметр ‘place_on_board’ установлен, но не используется»
что я могу сделать?
Комментарии:
1. В какой строке кода ошибка?
2.
place_on_board
является одиночнымint
. Итак,place_on_board[0]
это ошибка.3. Если
place_on_board
это массив, то передайте его какint *place_on_board
.