Salve a tutti,
per motivi di astrazione ho bisogno di trasformare queste due dichiarazioni

codice:
    void inslista(tipoelem,posizione&);
    void canclista(posizione &p);
In:

codice:
    void inslista(tipoelem,posizione);
    void canclista(posizione p);
Riferite al seguente codice (ovvio che bisogna adattare il codice alle dichiarazioni):


codice:
template <class A>
void ListaP<A>::inslista(tipoelem a, ListaP::posizione &p)
{
  typename ListaP<A>::posizione temp;

  temp = new Cella<A>;
  temp->setElemento(a);
  temp->setPrec(p->getPrec());
  temp->setSucc(p);
  (p->getPrec())->setSucc(temp);
  p->setPrec(temp);
  p=temp;
}

template <class A>
void ListaP<A>::canclista(ListaP::posizione &p)
{
  typename ListaP<A>::posizione temp;

  temp=p;
  (p->getSucc())->setPrec(p->getPrec());
  (p->getPrec())->setSucc(p->getSucc());
  p=p->getSucc();
  delete(temp);
}
Questo perchè ho creato una classe con delle funzioni su liste che deve funzionare su più tipi di realizzazioni che ha appunto, tra i metodi virtuali le dichiarazioni senza i puntatori.

Mi chiedevo quindi se c'era un modo di cambiare il codice di sopra, io non sono molto ferrato con i puntatori e sto impazzendo.

Vi ringrazio in anticipo,
Neptune.