mark Bau wrote: I believe I am passing the same type of array in all cases to the type of array defined in the method parameters.
You actually aren't.
The method takes two 2D arrays as parameters.
When you call it, you are passing two ints. Let's look at why:
a is a 2D array
a[r] is a 1D array
a[r][l] is an int and not an array