除非我弄错了,否则应该可以通过以下方式创建 std:array:
std::array<std::string, 2> strings = { "a", "b" };
std::array<std::string, 2> strings({ "a", "b" });
然而,使用 GCC 4.6.1 我无法让其中任何一个工作。编译器只是说:
expected primary-expression before ',' token
然而初始化列表与 std::vector 一起工作得很好。那么它是哪一个?我是否误以为 std::array 应该接受初始化列表,或者 GNU 标准 C++ 库团队搞砸了?