Ho provato a stampare la lista al contrario usando sempre i puntatori, c'ho provato ma non va:

codice:
pNodo p = lista;
     pNodo testa = lista;
     while(p->next != 0){
                 p->next = lista;
                 lista = lista->next;
                 p = lista;
                 }
     while(p != testa){
             cout << "\t Elemento: " << p->elem << "\n";
             p = p->next;
             }