Dimenticavo di dire che sto usando C++ con eclipse.
Allora questi sono due metodi (il primo pubblico, il secondo privato). Cosi come sono non mi da nessun errore.
Il problema è che poi, quando vado nel main, dichiaro una variabile Three<int> e inserisco un po di valori. E appena richiamo il metodo padre(int) mi spunta l'errore che ho scritto accanto alla riga corrispondente.
template<class T>T Three<T>:adre(T valore){
if(testa == NULL) return 0;
if(testa->val == valore) return valore;
else{
nodo<T> *temp = padre(valore, testa);// Errore: undefined reference to `Three<int>:adre(int, nodo<int>*)'
return temp->val;
}
}
template<class T>nodo<T> Three<T>::*padre(T valore, nodo<T> *foglia){
if(foglia->sx->val == valore or foglia->dx->val == valore) return foglia;
else if(valore < foglia->val) return padre(valore, foglia->sx);
else if(valore > foglia->val) return padre(valore, foglia->dx);
else return NULL;
}
Spero che cosi vada bene la domanda.