Ciao, sto realizzando una lista concatenata in C++ utilizzando i puntatori, e mi trovo in questa situazione:
typedef int tipoelem;
typedef struct Nodo * posizione;
class Lista{
public:
void creaLista();
bool listaVuota() const;
private:
typedef struct{
struct Testa *head;
}Testa;
typedef struct{
tipoelem valore;
struct Nodo *next;
}Nodo;
};
int main()
{
Lista L;
posizione p;
cin >> p;
L.creaLista();
if(L.listaVuota()){
cout << "La lista e' vuota" << endl;
}else{
cout << "La lista NON e' vuota" << endl;
}
return 0;
}
void Lista::creaLista(){
Testa h;
h.head = NULL;
}
bool Lista::listaVuota() const{
Testa h;
return (h.head == NULL);
}
dove quei typedef all'inizio devo usarli per rendere la lista astratta e non far notare la realizzazione a chi la usa, cioè devo fare astrazione dati
il problema è che non capisco l'errore di quando faccio " cin >> p ", la posizione (essendo una lista concatenata) è un puntatore a record (il nodo contenente valore e riferimento al nodo successivo), dove sto sbagliando?