View Single Post
Old 18-01-2004, 23:54   #4
ri
Senior Member
 
L'Avatar di ri
 
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
non è possibile allocare una matrice dinamicamente in quel modo
per allocarla dinamicamente dovete usare una malloc, ricordandosi poi di fare una free alla fine

Codice:
int i = 0;
int nrow = 0;
int ncol = 0;

/* mi carico nrow e ncol */

int** mat = (int**)malloc(nrow);
for(; i < nrow; i++)
      mat[i] = (int*)malloc(ncol);

/* mi ci faccio i miei pastrocchi */

i = 0;
for(; i < nrow; i++)
      free(mat[i]);
free mat;
gosh è una vita che non faccio allocazioni dinamiche di matrici ed è tardi, ma dovrebbe essere una cosa così

EDIT: l'esempio sopra riportato presume l'utilizzo del C
in caso di C++ usare new e delete
inoltre non fa nessun controllo sulla corretta esecuzione della malloc per 2 motivi: 1 non avevo voglia, 2 (che è proprio una scusa ) rendere più leggibile il codice

Ultima modifica di ri : 19-01-2004 alle 08:56.
ri è offline   Rispondi citando il messaggio o parte di esso