Salve a tutti! Sto provando a svolgere un esercizio in cui si chiede di eliminare da una lista gli elementi di posto pari (o dispari). Il codice che ho scritto è il seguente:

codice:
void lista::eliminapari(){
    nodo *p;
    int n=0;
       if (l==0)
           cout<<"La lista è vuota";
    else
    
     while(l!=0){   
        if (n%2==0){
        p=l;
        l=l->succ;
        delete p;
        cout<<"#";
        n++;
        cout<<n;
        }
        else
        n++;}
                  
}
Ho messo i cout<<n e cout<<# per tentare di capire cosa facesse! Dati 3 elementi l'output è questo: #1#3#5, e mi restituisce sempre la lista vuota! P.S: l è il nodo della classe lista. Dove sbaglio??
Grazie!