Ho un problema di compilazione nella procedura per eliminare un nodo:
void pop (L&l,int x){
x=l->num;
L p=l; // salva il valore di l
l=l->next; //aggiorna l
delete p;
}
void print(L l){
while (l!=0){
cout<<l->num<<" ";
l=l->next;
}
}
bool erase(L& l, int & x) {
int value=x;
if(l->num==value) {
pop(l,value);
return true;
}
else
return erase(l->next,x);
}
ma mi da errore nell,ultima istruzione :
[Linker error] undefined reference to `erase(Record*&, int)'
ma se in- bool erase - passo l'intero x per valore compila, ma poi mi elimina sempre l'ultimo, e non l'elemento in un certo nodo