Originariamente inviato da ZoneForum

codice:
Lista * L = new Lista;
Partita P;
L.inserisciPartita ( P ); // inserisco una Partita nella Lista
delete L;
E' proprio "delete L;" che mi fa crashare il programma.
Forse intendevi scrivere
codice:
L->inserisciPartita ( P );
Anche se il codice che hai inviato è incompleto e non compilabile, si può intuire che ti vada in crash perché P viene distrutto dopo L.
Per far distruggere P prima di L aggiungi un extra block:

codice:
Lista * L = new Lista;
{ // extra block
	Partita P;
	L->inserisciPartita ( P ); // inserisco una Partita nella Lista
}
delete L;
;-)