codice:
void mergeSort(pNodo lista, pNodo lista2, pNodo &lista3)
{
     while(lista && lista2){
                 if(strcmp(lista->cognome, lista2->cognome) > 0) push(lista3, lista->nome, lista->cognome);
                 else push(lista3, lista2->nome, lista2->cognome);
                 }
     while(lista){
                  push(lista3, lista->nome, lista->cognome);
                  }
     while(lista2){
                   push(lista3, lista2->nome, lista2->cognome);
                   }
}
Ho due liste da fondere rispettando l'ordine alfabetico dei cognomi, "push" inserisce in testa, lista3 è la nuova lista. Il programma non crasha ma mi dà un messaggio alla fine che non riesco a leggere perchè subito si chiude. Per la funzione del merge sort ho seguito passo passo quella che uso per gli array (che funziona), ma come ho scritto dà un problema, potete aiutarmi?
Grazie in anticipo