The rules for braces are very complex when it comes to nested structures.
The simplest form of your code would be the following:
Block<3, 2> b {1, 2, 3, 4, 5, 6};
This basically omits all internal braces; these omissions are allowed by language.
The following syntax, which is a bit complicated, is this:
Block<3, 2> b {{1, 2, 3, 4, 5, 6}};
He still omits the braces, but as far as Block and as his member, he is FULLY fixed. It omits curly braces for array and its members.
And this one is FULLY installed:
Block<3, 2> b {{{ {{1, 2,3}}, {{4,5,6}} }}};
It is fixed for all internal structures.
All forms compile in order .
See my other answer for a detailed explanation: