salve non riesco a capire perchè l'append in una lista mi funziona in un modo e non in un altro.
Versione funzionante
codice:
void Lista::append(const E e) {
     
    if(p==0) push(e);
     else{
     P q=new Record(e);
     q->next=0;
     P temp=p;
     
     while (temp->next) 
     {
          temp=temp->next;
     }
     temp->next=q;
        }
}
Versione non funzionante
codice:
void Lista::append(const E e) {
     
    if(p==0) push(e);
     else{
     P q=new Record(e);
     q->next=0;
     P temp=p;
     
     while (temp) 
     {
          temp=temp->next;
     }
     temp=q;
        }
}
Il problema è nel secondo while.ma non dovrebbe essere la stessa cosa? Grazie