Another option is to use a different type:
int (*)[5]

Like
void print(int (*array)[5], ...)

It will then work. But this is the same as typing
void print(int array[][5], ...)

Different syntax, but means the same thing. Both are pointers.