わかりました、これは私のコンパイラ(vs2008)で動作しますが、私は非標準的なことをしているのかどうかを理解しようとしています。これが私がしている簡単な例です:
std::tr1::array<int, 3> OneTwoThree() {
return boost::assign::list_of(1)(2)(3).to_array(std::tr1::array<int, 3>());
}
to_arrayアダプターは、渡された引数を実際には使用せず、型を把握するために使用しているだけであるという事実をだましています。ただし、例は、次のように使用されていることを示しています。
std::tr1::array<int, 3> a = boost::assign::list_of(1)(2)(3).to_array(a);
値で初期化された配列をto_arrayにスローするだけで、それがコーシャであるかどうかについてのアイデアはありますか?これを行うためのよりクリーンな方法はありますか?