PDA

Visualizza la versione completa : [C++] Assegnazione matrice


ale152
15-06-2009, 18:28
Ho questo codice:

#include <iostream>
#include <stdlib>
using namespace std;

int matrice(int m[100][100]) {
return m[0][0];
}

int main()
{
int k = 100;
int m[k][k];
matrice(m);
system("PAUSE");
return 0;
}

Mi genera l'errore: "13: passing `int (*)[((k - 1) + 1)]' as argument 1 of `matrice(int (*)[100])'", ma non riesco a capire che problema ci sia.
Se invece di assegnare la matrice come m[k][k] la assegno con m[100][100] funziona!
Lo stesso accade se invece di utilizzare una variabile k, utilizzo una costante k.
Qual č il problema? :cry:

tulkas85
15-06-2009, 18:38
prova cosė

int matrice(int m[][100]) { return m[0][0]; }

e lascia tutto invariato, vedi se continua a dare errore...

altrimenti porta quel int k fuori dal main rendendolo globale...

sebaldar
15-06-2009, 19:08
per allocare staticamente la matrice k deve essere costante in quanto il compilatore deve conoscere il suo valore nel momento della compilazione, metti quindi

const int k=100;

ale152
16-06-2009, 12:34
Ok grazie.

Loading