Così ad occhio penso che il problema sia dovuto al fatto che non allochi spazio per temp, dovresti fare:

codice:
posizione temp = new nodo<tipoelem>;
ho assunto che stavi lavorando sempre con i file di prima e che il metodo preclista sia uguale a succlista tranne per il fatto che restituisce il nodo precedente...

Prova un po'...