Ecco il mio codice:
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;
}
il compilatore mi da:
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]’
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?