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;
}