Buongiorno,
ho un problema
ho una struttura dati costituita da un vector di puntatori a liste contenenti ciascuna a loro volta dei puntatori a oggetti Nodo.
che nel costruttore istanzio concodice:std::vector<std::list<Nodo *>* > *listaConcatenata;
successivamente con un ciclo for alloco tutte le n listecodice:this->listaConcatenata = new std::vector<std::list<Nodo *>* >();
con un solo Nodo iniziale
successivamente ho un metodo di stampa, e credo sia qui l'errore, perchè non mi funziona l'iteratore che all'università ho studiato pococodice:std::list<Nodo *> *listaNodi = new std::list<Nodo*>(); listaNodi->push_back(nodo); this->listaConcatenata->push_back(listaNodi);
codice:void Accumulatore::printAccumulatore(){ for (int i = 0; i < this->numeroNodi; i++) { std::list <Nodo*>::iterator it1 ; for (it1 = listaConcatenata->at(i)->begin(); it1 != listaConcatenata->at(i)->end(); it1++) { std::cout << "elemento = " << *it1 << std::endl; } } }
in pratica mi stampa solo righe tipo " elemento = 0055A498" poi si conclude senza crash
Chiedo aiuto, io con quel ciclo for devo stampare il nome e la chiave intera dell'oggetto di classe Nodo che possiede dei metodi getNome() e getChiave() che sono stringa ed intero.
ma purtroppo non so proprio come fare con queste list e iteratori,
vi prego aiuto!!!
p.s. uso windows 8 e c++ sotto visual studio 2013 GRAZIE!!!

Rispondi quotando