Come non detto, funziona normalemente un
codice:
l1.leggilista(l1.preclista(pos)).destro
Ora ancora un ultimo dubbio irreversibile.
Ho il seguente codcie:
codice:
#include "ListaP.h"
#include "ListaV.h"
#include "ListaC.h"
using namespace std;
struct _cella{
ListaP<Cella<int>* >::posizione genitore;
ListaP<Cella<int>*>::posizione destro;
};
typedef struct _cella tempio;
int main(int argc, char *argv[])
{
ListaP< tempio > l1;
ListaP<tempio>::posizione pos;
pos = l1.primoLista();
tempio t1,t2;
t1.genitore = pos;
t1.destro = pos;
l1.inslista(t1, pos);
t2 = l1.leggilista(l1.preclista(pos));
cout << t2.genitore << t2.destro<< endl;
cout << l1.leggilista(l1.preclista(pos)).destro;
}
Mi da il seguente errore:
codice:
Description Resource Path Location Type
cannot convert 'Cella<_cella>*' to 'Cella<Cella<int>*>*' in assignment main.cpp /Liste_3 line 29 C/C++ Problem
Ovvero non sa fare il cast da cella<_cella> che è il mio dato strutturato a cella<int>.
Il punto è: Come faccio ad utilizzare il tipo che sto dichiarando nella dichiarazione stessa? Immagino che non si può e quindi come posso aggirare la cosa? 
Ho provato a farlo e mi dice comunque:
codice:
Description Resource Path Location Type
cannot convert 'Cella<_cella>*' to 'Cella<Cella<_cella> >*' in assignment main.cpp /Liste_3 line 29 C/C++ Problem