私は作業しているCコードをいくつか手に入れました。動作するはずです。オブジェクトファイルをリンクしようとすると、mainのgetLine関数の "outputBusへの未定義参照"というエラーが表示されます。私は関数名の前にアンパサンドの有無にかかわらず試しました。 gcc -ansi
でコンパイルします。何が間違っているのですか?Cの別の関数に関数を渡します。私は間違っていますか?
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;
}
それはあなたがオブジェクトファイルを好きにしようと、おそらくあなたがそれらをリンクしたいといいです。 ;) – Svante