Quote:
Originariamente inviato da sottovento
Davvero strano, anche perche' a me continua a funzionare.
C'e' un altro errore minore:
Codice:
printf("--- Fila numero %d --- \n", numfila + 1);
numfila in quel momento non e' inizializzato, quindi questa istruzione non e' corretta, puoi sostituirla con
Codice:
printf("--- Fila numero %d --- \n", fila + 1);
Tornando alle cose serie: sembra che ci sia bisogno di un esorcista.
Sarebbe opportuno provare ad escludere delle parti per vedere se almeno si arriva alla fine. Il programma pero' e' gia' piuttosto scarno, non so cosa si possa escludere.
Proverei escludendo l'inizializzazione (i.e. commentandola):
Codice:
Posto** creaSala(){
Posto **v = (Posto **)calloc(numerofile, sizeof(Posto*));
assert(v != NULL);
int fila;
int posto;
Posto *seat;
for (fila = 0; fila<numerofile; fila++){
*(v + fila) = (Posto *)calloc(postixfila, sizeof(Posto));
assert(*(v + fila) != NULL);
for (posto = 0; posto<postixfila; posto++){
//seat = nuovoPosto(posto + 1, fila + 1);
//v[fila][posto] = *seat;
//free(seat);
}
}
return v;
}
Siccome calloc() inizializza la memoria a zero, dovresti stampare una serie di posti/file a zero, ma l'importante e' capire se arrivi fino alla fine in questo modo....
ALTRA COSA: aspetta a fare la distruggiSala(), commenta anche quella. Vediamo se si arriva in fondo, prima.
|
Ho provato a fare tutto quello che dici.
Commentando l'inizializzazione, stampa tutti 0 ma si interrompe comunque.
Togliendo distruggiSala() non cambia nulla (oltre all'ovvio memory leak).
A questo punto direi che č un problema (o magari un'impostazione) dell'IDE.
Provo a farlo runnare sulla macchina virtuale con ubuntu del portatile , vediamo cosa succede.
Male che vada, cambio ambiente