PDA

View Full Version : undefined reference


pako90
05-03-2007, 17:59
Salve a tutti!!!!
Stavo cercando di provare la funzione qsort della libreria C++ cstdlib con il seguente codice:

// prova qsort

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int compare(const void *a, const void *b);

main(int argc, char **argv)
{
int lung = atoi(argv[1]);
int a[lung];

srand(time(0));
for(int i = 0; i< lung; i++)
a[i] = rand();

qsort(a, lung, sizeof(int), compare);

for(int i = 0; i < lung; i++)
cout << a[i] << "\n";
cout << endl;
}

int compare(void *a, void *b)
{
if((int*)a < (int*)b) return -1;
if((int*)a > (int*)b) return 1;
return 0;
}


ma quando provo a compilare:

bash-3.1$ g++ qsort.cpp -o qsort
/tmp/ccDuWwrn.o(.text+0x197): In function `main':
: undefined reference to `compare(void const*, void const*)'
collect2: ld returned 1 exit status
bash-3.1$


C'è qualcuno che mi saprebbe spiegare perchè? Non riesco a capire proprio la tipologia di errore che ho commesso!!!

ilsensine
05-03-2007, 18:01
int compare(const void *a, const void *b);
...
int compare(void *a, void *b)
{
...
}

Deciditi ;)

pako90
05-03-2007, 18:06
yahoooooooo!!!grazie mile!!!!