c - undefined reference to 'freeHeap' -


i have encountered problem when calling freeheap function inside of sortcomp.c

i calling such

heapref myheap = buildheap(numdata, heapsort, numdata);       freeheap(myheap); 

when compiling recieve error "undefined reference 'freeheap'"

i including heap.h , inside of heap.h have declared freeheap

void freeheap(heapref *); 

i compiling such

gcc -o sortcomp sortcomp.c insertionsort.c heap.c insertionsort.h heap.h 

it defined in heap.c as

void freeheap(heapref *ph){    heapref h = *ph;    free(h->data);    free(h); } 

fixed:

i changed calling of freeheap(myheap);

to

freeheap(&myheap); 

and stopped complaining

use in declaration of function freeheap() in heap.h :

  extern void freeheap(heapref*); 

edit jesus christ, argument freeheap() doesn't match prototype's, declaration doesn't match definition.so argument needs of type heapref* instead of heapref.in program myheap of type heapref while supposed pass heapref*.use this:

freeheap(&myheap); 

Comments

Popular posts from this blog

linux - Does gcc have any options to add version info in ELF binary file? -

javascript - Clean way to programmatically use CSS transitions from JS? -

android - send complex objects as post php java -