salve a tutti, ragazzi come da titolo non ho capito bene come cavolo si usino questi template, vi faccio un esempio di codice che mi restituisce sempre errori:
codice:
//definizione di una cella
#ifndef listap_h
#define listap_h
//la cella rappresenta una componente della lista
template <class E>
struct cella {
E info;
cella* succ;
};
template <class Elem>
class Listap {
public:
cella* posizione;
//costruttore
Listap();
//distruttore
~Listap();
//operazioni
void creaLista();
bool Listavuota();
Elem leggiLista(posizione);
void scriviLista(Elem, posizione);
posizione primoLista();
bool fineLista(posizione);
posizione succLista(posizione);
posizione predLista(posizione);
void insLista(Elem, posizione );
void cancLista(posizione );
private:
posizione lista;
//la lista è un puntatore ad una posizione che a sua volta punta ad una cella
};
ovviamente seguono tutte le implementazioni delle funzioni ecc...ecc...
fatto sta che quando vado a compilare il codice mi ritrovo diversi errori, ve ne elenco qualcuno:
2 testLista.cpp In file included from testLista.cpp
15 listap.h ISO C++ forbids declaration of `cella' with no type
....
....
...
24 listap.h `posizione' has not been declared
....
...
...
praticamente a quanto ho capito mi da un errore ogni volta che uso posizione poichè il primo errore è proprio nella riga:
cella* posizione;
Mi dite come cavolo avrei dovuto definire un puntatore ad una cella???
dove sbaglio????
GRAZIE mille e ciao