ciao a tutti, sto imparando a creare le strutture dati con il C++ e sto creando la classe cella per le liste con puntatori. in pratica la libreria relativa alla classe cella viene creata ma quando creo il main per testare se la classe è stata creata con successo mi dà errore. posto la classe cella e il main e l'errore che mi viene visualizzato:
classe cella
codice:#ifndef _CELLAP_H #define _CELLAP_H template<class T> class Cellap { public: typedef T tipoelem; Cellap(); ~Cellap(); void scrivicella(tipoelem); tipoelem leggicella(); void setprec(Cellap *); Cellap *getprec(); void setsucc(Cellap *); Cellap *getsucc(); bool operator==(Cellap); private: Cellap *precedente; tipoelem elemento; Cellap *successivo; }; template<class T> Cellap<T>::Cellap() {} template<class T> Cellap<T>::~Cellap() {} template<class T>void Cellap<T>::scrivicella(tipoelem element) { elemento = element; } template<class T> tipoelem Cellap<T>::leggicella() { return elemento; } void template>class T> Cellap<T>::setprec(Cellap *prec) { precedente = prec; } Cellap *template<class T> Cellap<T>::getprec() { return(precedente); } void template<class T> Cellap<T>::setsucc(Cellap *succ) { successivo = succ; } Cellap *template<class T> Cellap<T>::getsucc() { return(successivo); } bool template<class T> Cellap<T>::operator==(Cellap cella) { return(this.elemento == cella.elemento); } #endif
main
quando mado in compilazione il main, mi da l'errore alla linea 40:codice:#include "Cellap.h" #include <iostream> using namespace std; int main() { Cellap<int> cilla; tipoelem el; cout << "inserire l'elemento: "; cin >> el; cilla.scrivicella(el); cout << "\nl'elemento inserito è : " << cilla.leggicella(); system("pause"); return 0; }
expected constructor, destructor, or type conversion before "Cellap"
dove ho sbagliato???

Rispondi quotando