1

sortComp.c 内で freeHeap 関数を呼び出すときに問題が発生しました。

そのように呼んでいます

heapRef myHeap = buildHeap(numData, heapSort, numData);     

freeHeap(myHeap);

コンパイル時に「'freeHeap' への未定義の参照」というエラーが表示されます。

私は heap.h を含めており、heap.hi の中に freeHeap を宣言しています

void freeHeap(heapRef *);

という感じでまとめています

gcc -o sortComp sortComp.c insertionSort.c heap.c insertionSort.h heap.h

heap.c で次のように定義されています。

void freeHeap(heapRef *pH){
   heapRef H = *pH;
   free(H->data);
   free(H);
}

修繕:

freeHeap(myHeap); の呼び出しを変更しました。

freeHeap(&myHeap);

そしてそれは不平を言うのをやめました

4

2 に答える 2