重複の可能性:
初期化子リストで外括弧を省略できるのはいつですか?
私はstd::array
Visual Studio 2010で使用していますが、これは実際にstd::tr1::array
は厄介な問題に直面しています。array
たとえば、を引数として取る関数があります。
void do_something(std::tr1::array<int, 5> data)
関数のような呼び出しは機能do_something({1,2,3});
せず、コンパイラ エラーが発生しますが、
std::tr1::array<int, 5> data = {1,2,3};
do_something(data);
します。前者が機能しない理由がよくわかりません。私が得るエラーは、 の)
前にa がないことを教えてくれ{
ます。これにより、初期化リストを期待していないと思われますが、そうでない理由はわかりません。初期化リストを誤用していませんか?
編集:std::tr1::array
必要ありません、正常にstd::array
動作します..