There are two possibilities. Either to declare the parameter as reference to a two-dimensional array or declare it as pointer to the element of a two-dimensional array that is a one dimensional array.
So select either such declaration
void something( int ( &a )[4][4] );
or such declaration
void something( int ( *a )[4], int n );
where n - is the first dimension of the original array.