Prova a riflettere sulle differenze tra queste righe:
e capirai tutto il codice.codice:// tua void elimina (elem*testa,char* st) // del prof void elimina(elem *& testa, char*s)
Inoltre cerca di capire anche la differenza tra:
codice:delete p->info; // tua delete[] p->info; // del prof