std::arrayの初期化

g++(4.7.2) だとコンパイルできないけど clang++(3.3) だとできる.

g++ の場合は,

array<int, 3> a((array<int, 3>){1, 2, 3});

みたいにキャストで明示しないといけないっぽい(C++スタイルでする場合には何使えばいいんだろ?). たぶん g++ の方は explicit ついたコンストラクタが生成されてるのかな.

cppreference.com 二重で囲むべきだったらしい.