Intereting Posts

Что вызывает ошибку «неопределенная ссылка на (некоторая функция)»?

Я получаю сообщение об ошибке:

main.o(.text+0x1ed): In function `main': : undefined reference to `avergecolumns' collect2: ld returned 1 exit status 

когда я gcc * .o. Я не совсем уверен, что вызывает эту ошибку. Другие плакаты объяснили это, поскольку функция не найдена или функция пуста. Если кто-то может уточнить или уточнить, это было бы очень оценено!

Вот код моей функции (я пытаюсь вычислить среднее значение столбца в 2D-массивах):

 #include "my.h" void averagecolumns (int x, int y, int** a) { int i; int j; float sum; float colAvg; sum = 0; colAvg = 0; printf("i. The column averages are: \n"); for(i = 0; i < x; i++) { for(j = 0; j < y; j++) { sum += a[i][j]; colAvg = sum / (float)x; } printf("Column: %3d, Average: %6.2f", j, colAvg); sum = 0; colAvg = 0; } 

Относительными частями основного являются:

 #include "my.h" int main (int argc, char* argv[]) { int** a; float** colAvg; int ROWS; int COLS; int i; int j; int** table; FILE* fpmyfile; int closeResult; .... printme (ROWS, COLS, a); // call functions a - j oddvalues (ROWS, COLS, a); oddlocations (ROWS, COLS, a); countoddrows (ROWS, COLS, a); addrows (ROWS, COLS, a); findfirstsmall (ROWS, COLS, a); findlastlarge (ROWS,COLS, a); addcolumns (ROWS, COLS, a); avergecolumns (ROWS, COLS, a); .... } 

Кроме того, это компоновщик или ошибка компиляции (я не был уверен, какой тег добавить).

    Это ошибка компоновщика. ld является компоновщиком, поэтому, если вы получите сообщение об ошибке, заканчивающееся «ld return 1 exit status», это говорит о том, что это ошибка компоновщика.

    Сообщение об ошибке сообщает вам, что ни один из файлов объектов, с которыми вы связываете, содержит определение для avergecolumns . Причиной этого является то, что определенная вами функция называется averagecolumns (другими словами: вы ошибочно averagecolumns имя функции при вызове функции (и, предположительно, в файле заголовка), иначе вы бы получили другую ошибку при компиляции время)).