Вы объявили int isSorted(int size, int array[])
, что говорит о том, что первый аргумент является целым числом. Хотя позже в коде вы указываете int *sub_ordens = NULL;
, который делает указатель на целое число, но само по себе оно не является целым числом. Чтобы исправить первую ошибку, вам нужно передать целое число в isSorted () вместо указателя на целое число.
Что касается второй ошибки, вы сделали противоположное тому, что вызвало первую ошибку. int array[]
все равно что сказать int *array
, но вы передаете int my_size;
, которое является целым числом, а не указателем на целое число.
Отойдя от технического аспекта, давайте подумаем об этом как о чем-то более осязаемом. У вас есть два человека, назовем их «Лицо А» и «Лицо Б.». Лицо А держит карточку с номером на ней, Лицо Б указывает на Лицо А, но Лицо Б не знает непосредственно номер, записанный на карточке. Если функция хочет указатель, то вы бы посмотрели на человека B, но если она хочет сам номер, вы бы посмотрели на человека A.
Ваша функция запрашивает число (персона A) в качестве первого параметра и указатель в качестве второго параметра (персона B).
В будущем было бы легче разобраться, если бы ваш код был немного более единообразным в представлении (интервал / стиль), а также если вы удалите части, которые не имеют прямого отношения к вопросу.