Why are extra brackets required for C++11 two-dimensional arrays initialization?
array<int, 2> arr1 = { 1,2 }; // Works
array< array<int, 2 >, 2> arr2 = { {1, 2} , {3, 4} }; // Does not work: "Error : too many initializer values"
array< array<int, 2 >, 2> arr3 = { {{ 1, 2 } ,{ 3, 4 }} }; // Works