In realtà non capisco il senso della funzione leggi array. Perchè passare un puntatore alla funzione, allocarlo nella funzione, riempirlo e....uscire. Facendo così ho si allocato un array, ma nessuno fuori dalla funzione lo può usare. Credo che quello che si voleva era di allocare l'array nella funzione e poi ritornarlo al chiamante, ma il prototipo della funzione è errato in quanto non devo passare un puntatore ad int per a, ma un puntatore ad un puntatore ad int (Probabilmente quello che ha pensato Samuele70 passando un reference ad un puntatore...ma se il prg era scritto in C non funziona, in C++ allora il passaggio dei parametri è azzeccato).
Quindi ho scrivi:
void leggi_array(int **, int *);
oppure cambi in:
int *leggi_array(int *);
e ritorni il puntatore (che ovviamente il chiamante deve liberare).
Inizializzare a è inutile...darebbe comunque un segfault perchè dopo la funzione accedi ad un array NULL.
![]()

Rispondi quotando