Si no me equivoco, debería ser posible crear un std: array de estas maneras:std :: matriz con inicialización enumera
std::array<std::string, 2> strings = { "a", "b" };
std::array<std::string, 2> strings({ "a", "b" });
Y, sin embargo, usando GCC 4.6.1 Soy incapaz de conseguir cualquiera de estos para trabajar. El compilador simplemente dice:
expected primary-expression before ',' token
y, sin embargo, las listas de inicialización funcionan bien con std :: vector. Entonces, ¿cuál es? ¿Me equivoco al pensar que std :: array debería aceptar listas de inicialización, o tiene el equipo GNU Standard C++ Library equivocado?
That crashed clang ... – Dani
No estoy seguro de si esto debería funcionar (no estoy al tanto de 0x cosas) pero, error o no, creo que es porque estás usando 'std: : string' con cadenas literales. ¿Has intentado envolver los literales de cadena con 'std :: string()'? –
@Chris: Esto funciona para mí con gcc 4.6.1 en Mac OSX 10.6. ¿Qué opciones de compilador estás usando? – juanchopanza