У меня есть код на C, над которым я работаю, и похоже, что он должен работать. Когда я пытаюсь связать объектные файлы, я получаю сообщение об ошибке «неопределенная ссылка на outputBus» и так далее для каждого из них в функции getLine в main. Я пробовал с и без амперсанда перед именами функций. составление с gcc -ansi
. Что я делаю не так?
typedef void(*DualOutput)(const int, const int);
typedef void(*TripleOutput)(const int, const int, const double);
void passenger(node**, node**, itemtype*);
double bus(node**, node**, itemtype*);
int getLine(itemtype*, DualOutput, DualOutput);
void getLines(node**, node**, DualOutput, DualOutput, TripleOutput);
void outputBus(const int, const int);
void outputPeople(const int, const int);
void outputTotal(const int, const int, const double);
int main(int argc, char **argv){
node *head = NULL;
node *tail = NULL;
getLines(&head, &tail, outputBus, outputPeople, outputTotal);
return 0;
}