void arrayRound(int id, double baln)
{
baln[id] = (baln[id]*100) + 0.5;
int temp = (int) baln[id];
baln[id] = (double) temp;
baln[id] = baln[id]/100;
}
Тело функции - это то, что дает мне сообщения об ошибках. Функция предназначена для округления индекса массива до ближайшей сотой. Я отдельно передал как переменную индекса, так и массив. Вот сообщение об ошибке:Что означает эта ошибка массива?
Fxns.c:70: error: subscripted value is neither array nor pointer
Fxns.c:70: error: subscripted value is neither array nor pointer
Fxns.c:71: error: subscripted value is neither array nor pointer
Fxns.c:72: error: subscripted value is neither array nor pointer
Fxns.c:73: error: subscripted value is neither array nor pointer
Fxns.c:73: error: subscripted value is neither array nor pointer
Моя первая догадка, что мне нужно включать пустые скобки после baln в поле параметра, но это не помогло. Есть идеи?
Вам нужно включить пустые скобки после 'baln' в списке аргументов. Можете ли вы показать эту попытку, пожалуйста? – Ryan
Если вы посмотрите на параметры функции, baln будет «ни массивом, ни указателем», а вместо этого будет указан как двойной. Вы опечалили или забыли сделать это указателем? – tamarintech