Semplicemente cancellandoli i reference non va.

Appena faccio un operazione del genere:

codice:
    ListaP<int,Cella<int> *> l2;
    l2.inslista(12, l2.primoLista());
Dove il metodo primoLista è questo:

codice:
template < class T, class P >
typename ListaP<T,P>::posizione ListaP<T,P>::primoLista() const
  {
    return lista->getSucc();
  }
il programma crash.