Salve a tutti,
ho un problema nel passare ad un template un tipo strutturato.

Lo spezzone di codice incriminato è il seguente:

codice:
template <class T>
struct _cella{
	Cella<T> * genitore;
	Cella<T> * sinistro;
	Cella<T> * destro;
		T valore;
      };
//typedef struct _cella Cella_Albero;

template <class T>
class Bin_treel : public Bin_tree<T, int>{

  public:
    typedef typename ListaP<T>::posizione posizione;
	typedef typename Bin_tree<T, posizione>::value_type value_type;
	typedef typename Bin_tree<T, posizione>::Nodo Nodo;

    // costruttori e distruttori
    Bin_treel();
    //~Bin_treel();

    // operatori
    void create();
    bool empty();

    Nodo root();
    Nodo parent(Nodo);
    Nodo sx(Nodo);
    Nodo dx(Nodo);
    bool sx_empty(Nodo);
    bool dx_empty(Nodo);

    //void costr(Bin_treel<T>);
    void erase(Nodo);

    T read(Nodo);
    void write(Nodo , value_type );

    void ins_root(Nodo);
    void ins_sx(Nodo);
    void ins_dx(Nodo);

  private:
    ListaP<_cella<T> > spazio;
    int nNodi;
    Nodo inizio;
    posizione NIL;
};
Ovvero io dichiaro il tipo strutturato globale _cella (globale perchè avevamo visto che se era dentro una funzione il c++ non permetteva di passarlo in un template) e poi nella mia classe cerco di creare una lista "spazio" passandogli quel tipo in questo modo
codice:
ListaP<_cella<T> > spazio;
L'errore che mi da su quella dichiarazione è:

codice:
cannot declare field 'Bin_treel<int>::spazio' to be of abstract type 'ListaP<_cella<int> >'	Bin_treel.cpp	/Alberi Binari	line 50	C/C++ Problem
Il codice completo lo trovate qui incollato tutto assieme:
http://www.ideone.com/o6k2b

Per farvi vedere tutti gli errori che mi da.

Potete invece anche trovarlo diviso per file per una migliore lettura qui:
Main del programma: http://www.ideone.com/qJB9n
Bin_treel.h : http://www.ideone.com/gM9sE
Bin_tree.h : http://www.ideone.com/oscLl
ListaP.h : http://www.ideone.com/ypZsO
Cella.h : http://www.ideone.com/aiJ6c
Liste_collegate.h : http://www.ideone.com/XGApr

Comprendo che il programma è gigante (circa 1000 righe di codice) ma il problema fondamentale dipende proprio dal fatto che non mi prende quel tipo strutturato, se riuscissi a farlo andare si risovlerebbero quasi tutti gli errori. Mi sfugge però cos'è che non va.

Ringrazio in anticipo chi avrà l'infinita pazienza di aiutarmi,
Neptune.