Я получаю эту ошибку в программе на C, которую я пишу:
progra10.c:48:25: error: expected ‘;’, ‘,’ or ‘)’ before numeric constant
#define LAST_INDEX ARRAY_SIZE - 1
и
program10.c:47:25: error: expected ‘;’, ‘,’ or ‘)’ before numeric constant
#define ARRAY_SIZE 20
^
program10.c:48:25: note: in expansion of macro ‘DATA_SIZE’
#define LAST_INDEX ARRAY_SIZE - 1
^~~~~~~~~~
program10.c:64:42: note: in expansion of macro ‘LAST_INDEX’
int sequential_search(int seq_data, int LAST_INDEX, int search_target,
Я использую компилятор GCC с этой командой:
gcc -Wall -ansi -oprogram10.exe program10.c -lm
Этот код, по-видимому, относится к ошибке:
#define COURSE_NUMBER "C Programming" /* Class */
#define PROGRAM_NUMBER 10 /* Program Number */
#define PROGRAMMER_NAME "Name" /* Programmer's Name */
#define ARRAY_SIZE 20 /* Size of the array */
#define LAST_INDEX ARRAY_SIZE - 1 /* The last index in the array */
Я понятия не имею, почему это может быть причиной этой ошибки. Помимо прочего, я проверил наличие открытых комментариев, вкладок, открытых строк и не смог исправить эту ошибку. Во время компиляции эта ошибка является единственной ошибкой, только она повторяется каждый раз, когда LAST_INDEX используется в параметре вызова функции в main. Я знаю, что в остальной части моей программы есть ошибки, но компиляция даже не показывает их, что наводит меня на мысль, что это не может пройти через это.
Функции выглядят так:
Прототип функции:
int sequential_search(int seq_data, int LAST_INDEX, int search_target,
int target_location);
Вызов функции:
sequential_search(seq_data, LAST_INDEX, search_target, target_location);
Определение функции:
int sequential_search(int seq_data, int LAST_INDEX, int search_target,
int target_location)
Спасибо за помощь!