The following statement declares a function which takes no argument and returns a pointer to an integer array.
int (*f())[];
It returns a pointer to an integer array of size _____
We didn't specify the size of the array, so it should give some kind of warning or error.
I am asking this because when we pass a 2-D array or a pointer to an integer array to a function, we are always supposed to specify the dimension while declaring the pointer in the formal arguments.
So, Why is this declaration allowed?
Is there any specific reason for not throwing an error or warning for this kind of declaration?
Is it that we can also omit the dimension while defining this function OR it becomes inevitable to specify the dimension while defining it?
For a better understanding, Please give a dummy definition of this function as well.