J'ai du code C sur lequel je travaille, et on dirait que ça devrait marcher. Lorsque j'essaie de lier les fichiers objets, j'obtiens une erreur indiquant "référence non définie à outputBus" et ainsi de suite pour chacun d'entre eux dans la fonction getLine dans main. Je l'ai essayé avec et sans l'esperluette avant les noms des fonctions. compilation avec gcc -ansi
. Qu'est-ce que je fais mal?Passer une fonction à une autre fonction en C. Que fais-je de mal?
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;
}
Il est bien que vous essayez d'aimer vos fichiers objet, mais vous aimeriez peut-être les relier. ;) – Svante