ciao a tutti!
ho scritto un programma( c++ ) nel quale ho implementato una lista dinamica, ma ho verificato che nella funzione per creare un nuovo nodo( in testa nel mio caso ), la malloc( del c ) e la new( del c++ ) restituiscono risultati differenti, in particolare:
- la malloc mi genera un errore a runtime
- la new non genera nessun errore e funziona alla perfezione
la mia lista è:
nella funzione di creazione del nodocodice:struct lista { string info; lista *next; };
MALLOC:
nuovo_nodo= (lista*) malloc( sizeof( lista ) );
NEW:
nuovo_nodo= new lista;
potreste spiegarmi la differenza tra malloc e new e come è possibile che si verifichi questo errore?
grazie in anticipo!!![]()



Rispondi quotando