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.
codice:
std::vector<std::list<Nodo *>* > *listaConcatenata;
che nel costruttore istanzio con
codice:
this->listaConcatenata = new std::vector<std::list<Nodo *>* >();
successivamente con un ciclo for alloco tutte le n liste
con un solo Nodo iniziale
codice:
std::list<Nodo *> *listaNodi = new std::list<Nodo*>(); listaNodi->push_back(nodo);
this->listaConcatenata->push_back(listaNodi);
successivamente ho un metodo di stampa, e credo sia qui l'errore, perchè non mi funziona l'iteratore che all'università ho studiato poco
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!!!