Массив, объявленный как
char foo[10][10];
, преобразуется в тип char( * )[10]
при передаче в функцию.И не существует неявного преобразования из типа char ( * )[10]
в тип char *
.
Таким образом, объявление функции должно быть
bool getParam(char* cmd, char ( *prm_arr )[10], int num);
То есть в выражениях с редкими исключениями преобразуются массивыуказатели на элементы массива типа.
Если у вас есть массив типа T, например,
T a[N];
, когда массив преобразуется в тип T *
.
В объявлении массива foo
тип его элементов: char[10]
.Поэтому массив преобразуется в указатель на тип элемента char ( * )[10]
Обратите внимание, что функция main должна быть объявлена как
int main()
вместо
void main()