Ciao!
Nel mio programma voglio semplicemente creare due liste di caratteri, per poi visualizzarle in un'unica lista. Utilizzo una classe per far ciò, l'inserimento dei caratteri termina quando si digita 'z' o 'Z'. Il problema che non riesco ancora a risolvere è che la funzione 'Union' non stampa a video la lista unita.. L'inserimento avviene credo correttamente, ma non visualizzo nulla, poi il programma si chiude.![]()
Questa è la funzione 'Union' che dovrebbe unire le due liste e stamparle una accanto all'altra :
Io credo sia qui l'errore. Il metodo precedente, che non ho summenzionato è 'creaLista()', che ha il compito di popolare le 2 liste di caratteri; nel main() ho dichiarato 2 puntatori alla 1-a e 2-a lista ed un puntatore al primo elemento 'start' = NULL.codice:void UnionL::Union(UnionL* l1, UnionL* l2) { cout << "Gli elementi della lista 'unione' sono i seguenti : \n\n"; while( l1->get_nxt() ) { /* Stampa gli elementi della 1-a lista. */ cout << "[ " << l1->get_car() << " ] "; l1 = l1->get_nxt(); } l2 = l1->get_nxt(); /* E' corretta quest'assegnazione?? */ while( l2->get_nxt() ) { /* Stampa gli elementi della 2-a lista. */ cout << "[ " << l2->get_car() << " ] "; l2 = l2->get_nxt(); } cout << "\n\n"; }
Chiamo le funzioni in questo modo :
codice:lista1 = new UnionL(); lista1->creaLista(start); system("PAUSE"); lista2 = new UnionL(); lista2->creaLista(start); system("PAUSE"); start->Union(lista1, lista2);
Qualche suggerimento?

Rispondi quotando
) :

Devo rivedere però con più calma pezzo per pezzo la parte di codice che mi hai mandato e studiarmi meglio le funzioni della classe 'elemento', che è innestata alla classe 'lista' e dovrebbe essere dichiarata 'friend' per interagire con l'altra..

