Ecco il mio codice:
il compilatore mi da:codice:#include <stdio.h> #include <stdlib.h> #define size 5 #define size2 2 int *arr(int **pippo){ int i, j; int *poi=malloc(size*sizeof(int)); for(i=0;i<size;i++){ poi[i]=0; } for(i=0;i<size;i++){ for(j=0;j<size2;j++){ poi[i]+=pippo[i][j]+1; } } return poi; } int main(){ int pippo[size][size2]; int i, j, count=1; int *v; for(i=0;i<size;i++){ for(j=0;j<size2;j++){ pippo[i][j]=count; count++; } } v=arr(pippo); for(i=0;i<size;i++){ printf("\n%d", v[i]); } printf("\n"); return 0; }
Non riesco a capire come devo fare a risolvere. Se al posto di una matrice passo un semplice array il problema non c'è, come devo fare però con una matrice?mem.c: In function ‘main’:
mem.c:36:2: warning: passing argument 1 of ‘arr’ from incompatible pointer type [enabled by default]
mem.c:7:6: note: expected ‘int **’ but argument is of type ‘int (*)[2]’

Rispondi quotando