Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    oggetti in una lista

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

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Allora due cose:
    1) Il linguaggio va obbligatoriamente specificato nel titolo (vedi Regolamento)
    2) Il codice va postato all'interno dei tag [*CODE] e [*/CODE] (senza asterisco rosso) per migliorarne la leggibilità.

    Correggo titolo e post.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quale errore? A me non ne da' in quella linea ... semmai ce ne sono altri ... ad esempio

    primo==NULL;

    e tutte le righe che si riferiscono all'elemento

    prossimo

    che non esiste
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    ok...prossimo è successivo ma cmq il problema mi rimane.
    Mi sapete proporre un semplice esempio in cui in una lista templare inserisco un oggetto di una classe?
    Grazie!

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da Gianni000
    ok...prossimo è successivo ma cmq il problema mi rimane.

    Ma quale problema? Ti ho detto che non c'e' alcun errore in quella riga ... quale errore ti da'?

    Mi sapete proporre un semplice esempio in cui in una lista templare inserisco un oggetto di una classe?
    ll problema era nel tuo codice ... non di proporne un altro ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    mi esce scritto.... instantiated fom here.
    Il codice cerco di compilarlo in Dev-C++.
    PS.Scusate ma non ho un gran cervello e sulle soce ci sbatto la testa per tanto tempo senza trovare soluzione!

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Correggi gli errori che ti ho indicato ... quello e' conseguenza degli altri ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    già fatto come ho fatto mille prove nei scorsi giorni ma il programma si esegue solo se tolgo quella riga di comando.....

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Scusa ... hai corretto tutti gli errori che ti ho indicato?

    Ce ne sono ancora ?

    Mi fai vedere la lista *precisa* degli errori ?

    Ad esempio questo

    Valore=p_obj;

    e' un altro errore ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.