Ciao, Shodan!!![]()
Ho apportato quella modifica nel costruttore.. Giustamente prima non allocavo memoria per ciascuna lista. Ora però il debug mi segnala un errore più avanti nel programma :
"Warning : Il programma ha causato una violazione d'accesso. Errore di segmentazione."
E si conclude di nuovo, quando voglio unire l'elemento di una lista (praticamente il secondo, il 'figlio') agli elementi della lista precedente, che diverranno suoi fratelli. Quindi voglio cancellare il padre, che rappresenta il nome della lista.
Questa è la funzione in cui si presenta l'errore :
[CODE]
void internal_union(Lista* l1, Lista* l2) { // Qui gli passo le due liste che voglio unire.
Lista* tmp = l2;
l1->nxt->nxt = l2->nxt;
delete l2;
show(l1);
}
[CODE]
.. Mi sta venendo un dubbio.. E' legale scrivere "->nxt->nxt" per inserire un elemento in terza posizione (le mie 'liste' devono infine essere costituite da 3 elementi)??
Spero di essere stato chiaro..