Ciao a tutti!!!
Ho un problema con C++ e non riesco a risolverlo magari mi può aiutare qualcuno....
Devo creare una lista template per inserire degli oggetti di una generica clase. Ho trascurato iteratori e tutto per semplificare tutto al solo problema che mi si è presentato. Ho creato una classe nodo (con 2 puntatori per il nodo prima e dopo e un puntatote ad un oggetto generico)e una lista e un main per fare l'inserimento ma mi da errore nel main quando provo l'inserimento(TERZULTIMA RIGA):Aiutatemi!!
codice:#include <iostream> #include <string> using namespace std; template<typename T> class List; template<typename T> class Nodo{ public: Nodo(T p_obj); private: Nodo<T>* precedente; Nodo<T>* successivo; T* Valore; friend class List<T>; }; template<typename T> Nodo<T>::Nodo(T p_obj){ precedente=NULL; prossimo=NULL; Valore=p_obj; } //******************************************************* template<typename T> class List{ public: List(); void inserisci(T obj); private: Nodo<T>* primo; Nodo<T>* ultimo; }; template<typename T> List<T>::List(){ primo==NULL; ultimo=NULL; } template<typename T> void List<T>::inserisci(T obj){ Nodo<T>* nuovonodo=new Nodo<T>(obj); if(ultimo==NULL){ //lista vuota primo=nuovonodo; ultimo=nuovonodo; } else{ nuovonodo->precedente=ultimo; ultimo->prossimo=nuovonodo; ultimo=nuovonodo; } } //******************************************************** class prova{ public: prova(){a=1;}; void stampa(){cout<<a<<"\n";}; private: int a; }; //****************************************************** int main(){ prova* dai=new prova(); List<prova*> lis; lis.inserisci(dai);//QUI MI DA ERRORE E SI BLOCCA LA COMPILAZIONE system("PAUSE"); return 0; }