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 è:
codice:
struct lista
{
     string info;
     lista *next;
};
nella funzione di creazione del nodo

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!!