Newsgroup: it.comp.lang.c
Titolo: errore visul c++ 6.0

da un po'  visual c++ 6.0  mi da i seguenti errori in fase di
"linking": 
"
Linking...
quicksort.obj : error LNK2001: unresolved external symbol _QuickSort_2
Debug/quicksort.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
quicksort.exe - 2 error(s), 0 warning(s)
"
Qualcuno sa dirmi come posso risolvere il problema?

 Qualcuno sa dirmi come posso risolvere il problema?
Ammesso che tu da qualche parte abbia un QuickSort_2.obj
Project->Settings->Link
e scrivi il nome del file oggetto nella text box denominata
Object/library modules
Quanto detto vale per VC++ 5.0, per la versione 6.0 (se non va bene)
fai riferimento al manuale.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto:


 ha
scritto:


Eccolo.
#include<stdio.h>
void swap(int *a, int *b);
void quicksort(int a[], int n);
void QuickSort(int a[], int left, int right);
int sceltapivot (int a[], int left, int right);
void Quicksort_2(int a[], int left, int right);
void main ()
{
	int a[100],i,j;
	printf("Inizio programma\n\n");
	for (i=0;i<100;i++)
		a[i]=i;
	quicksort(a,100);
	printf("\n\ngli elementi sono stati ordinati\n\n");
	for (j=0;j<100;j++)
		printf("%d ",a[j]);
}
void swap(int *a, int *b) {
    /*
     * swap, scambia due variabili tra loro
     */
     /* Variabile temporanea */
     int tmp;
     /* Copio il contenuto dell'indirizzo "a" in tmp */
     tmp = *a;
     /* Copio il contenuto dell'indirizzo "b" all'indirizzo "a" */
     *a = *b;
     /* Copio il vecchio contenuto di "a"
      * all'indirizzo "b" */
     *b = tmp;
}
int sceltapivot (int a[], int left, int right)
{
	return a[left];
}
void quicksort(int a[], int n){
    printf("\n\nInizio il quicksort\n\n");
	QuickSort_2(a,0,n-1);
}
void QuickSort(int a[], int left, int right)
{
    int i,j,b;
    int pivot;
	b=right+1; //variabile di appoggio. contiene il numero degli
elementi del vettore. serve per printvettoreord
	if (left + 1 <= right){
        /* Scelgo il pivot come medio tra 3 */
		pivot = sceltapivot(a, left, right);
        i = left;
        j = right-1;
        do {
            /* scorro il vettore da sx a dx
             * finche' trovo un elemento
             * maggiore del perno o fino alla fine
             * del vettore */
            while (a[++i] < pivot) {}
            /* scorro il vettore da dx a sx
             * finche' trovo un elemento
             * minore del perno o fino alla fine
             * del vettore */
            while (a[--j] > pivot) {}
            if (i < j ) {
                /* Se non e' avvenuto l'incrocio
                 * Scambio i due valori raggiunti */
                swap(&a[i], &a[j]);
            } else
                break;  /* Se l'incrocio e' avvenuto
                         * esco dal ciclo */
        } while (1);
        swap(&a[i],&a[right-1]);
        QuickSort(a,left,i-1);
        QuickSort(a,i+1,right);
    } 
	//printvettoreord(a,b);
}
void Quicksort_2(int a[], int left, int right)
{
	int i,j,pivot,y;
	i=left;
	j=right;
	pivot= sceltapivot(a, left, right);
	do {
		while(a[i]<pivot && i<right) i++;
		while(pivot<a[j] && j<left) j--;
		if (i<=j){
			y=a[i];
			a[i]=a[j];
			a[j]=y;
			i++;j--;
		}
	}while (i<=j);
	if (left<j) Quicksort_2(a,left,j);
	if (i<right) Quicksort_2(a,i,right);


 {
Il "C e' case sensitive. Scegli o QuickSort_2 o Quicksort_2
(notare la "s").


 
Togli quello che hai aggiunto al linker, non e' il tuo caso. La
soluzione (spero) e' contenuta nell'altro post.


Evidentemente non c'e' :-)
Effettivamente non c'č!!! Ma puň essersi cancellato DA SOLO?????