私が間違っていない限り、次の方法で 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++ ライブラリ チームは間抜けですか?