C ++ 11: Richtige std :: array Initialisierung?

Wenn ich ein std :: -Array wie folgt initialisiere, gibt der Compiler eine Warnung über fehlende geschweifte Klammern aus

std::array<int, 4> a = {1, 2, 3, 4};

Dies behebt das Problem:

std::array<int, 4> a = {{1, 2, 3, 4}};

Dies ist die Warnmeldung:

missing braces around initializer for 'std::array<int, 4u>::value_type [4] {aka int [4]}' [-Wmissing-braces]

Ist das nur ein Fehler in meiner Version von gcc, oder wird es absichtlich gemacht? Wenn ja warum?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage