Why is char[][] = {{…}, {…}} not possible if explicitly given a multidimensional array?
问题 I went through this article. I understand the rules explained but I am wondering what exactly blocks the compiler from accepting the following syntax when defining a constant multi-dimensional array and directly initializing it with known values of given type: const int multi_arr1[][] = {{1,2,3}, {1,2,3}}; // why not? const int multi_arr2[][3] = {{1,2,3}, {1,2,3}}; // OK error: declaration of 'multi_arr1' as multidimensional array must have bounds for all dimensions except the first What