Ваш board
является двойным массивом.Он имеет как высоту, так и ширину.Когда вы ожидаете аргумент *board
в вашей печати, вы на самом деле ожидаете массив только с одним измерением.Чтобы ошибка исчезла, вы должны передать int (*board)[WIDTH]
.
Когда вы передаете двумерный массив в функцию, вы должны включить размер одного из измерений.Таким образом, ваш board[HEIGHT][WIDTH]
должен быть передан, по крайней мере, с информацией о его ширине.Итак: board[][WIDTH]
.Вы можете взять эти пустые []
и записать их в виде указателя перед платой.
Итак, в вашем главном вы вызываете свою функцию правильно, но вы должны отредактировать заголовок своей функции так:1011 *
void print(int (*board)[WIDTH], int rows, int cols){