PDA

View Full Version : [C] aiuto puntatori di puntatori


Tony Hak
19-11-2007, 11:57
ciao a tutti !
ho il seguente problema .. dunque ... devo eliminare un nodo da un albero binario . La procedura

void elimina(struct nodo **rad, int el)

come la si puo' ben notare si serve dei puntatori a puntatori..
questa procedura la chiamo in una funzione con il seguente codice

elimina(&(*radiceJ), radiceJ->info)

e il compilatore mi da il seguente errore:

implicit declaration of function `int elimina(...)'

Lo stesso errore lo da quando cerco di chiamare la funzione

int ricerca_minimo (struct nodo *radice)

dalla procedura sopra citata "elimina". La chiamata in questo caso avviene con la seguente riga di codice:

(*rad)->info=ricerca_minimo((*rad)->dx);

l'errore segnalato come nel caso precedente č:

implicit declaration of function `int ricerca_minimo(...)'

non so piu' che pesci pigliare.. non riesco a chiudere il programma a causa di questi errori di compilazione. Chiedo un aiuto agli esperti del settore e appassionati di programmazione! grazie mille ! :)

AnonimoVeneziano
19-11-2007, 12:25
Implicit declaration of function č un errore tipico del compilatore quando in un codice si cerca di utilizzare una funzione che č stata dichiarata e definita dopo il punto in cui la si cerca di usare per la prima volta.

Ti faccio un esempio :

ipotizza di avere il main e una funzione "int cerca(int i)" messi cosė :


#include <stdio.h>

int main() {
cerca(1);
}

void cerca(int i) {
[.....codice....]
}




la funzione main() chiama la funzione cerca(int) prima che sia definita all'interno del programma dando , almeno un warning.

Per toglierlo fai cosė :


#include <stdio.h>

void cerca(int); //Dichiarazione della funzione

int main() {
cerca(1);
}

void cerca(int i) {
[.....codice.....]
}


Spero fosse questo il problema :)

Ciao

Tony Hak
19-11-2007, 12:43
si, č quello il problema...grazie mille !