I'm getting warning C4047: 'int (*)[9]' differs in level of indirection from 'int **'
on the line when the nineinput()
function returns arr
.
I don't know why it is popping this error.
Could someone explain to me the reason?
int main() {
int(* ninearr)[9];
ninearr = nineinput();
GCDinput(ninearr);
free(ninearr);
return 0;
}
int(* nineinput())[9] {
int i, j, a, b, tmp, res, len;
int ** arr;
// (...)
len = b - a + 1;
arr = (int **)malloc(sizeof(int *) * len);
for (i = 0; i < len; i++) {
arr[i] = (int *)malloc(sizeof(int) * 9);
}
// (...)
return arr;
}