Sauf erreur de ma part, il devrait être possible de créer un std:array de ces manières :
std::array<std::string, 2> strings = { "a", "b" };
std::array<std::string, 2> strings({ "a", "b" });
Pourtant, en utilisant GCC 4.6.1, je ne parviens pas à les faire fonctionner. Le compilateur dit simplement :
expected primary-expression before ',' token
et pourtant les listes d'initialisation fonctionnent très bien avec std::vector. Alors, qu'en est-il ? Est-ce que je me trompe en pensant que std::array devrait accepter les listes d'initialisation, ou est-ce que l'équipe de la bibliothèque standard C++ de GNU a fait une erreur ?