Why is this an issue?

Array designators should always be located on the type for better code readability. Otherwise, developers must look both at the type and the variable name to know whether or not a variable is an array.

Noncompliant code example

int matrix[][];   // Noncompliant
int[] matrix[];   // Noncompliant

Compliant solution

int[][] matrix;   // Compliant