
9 Aug
2006
9 Aug
'06
7:54 p.m.
Peter Dimov wrote:
Michael Marcin wrote:
<snip>
To initialize a boost::array "by the book" you need double braces:
boost::array
foo = {{ 1, 2 }}; because a boost::array
is essentially struct array { int data[2]; };
and, according to the initializer rules, the outer braces are for the array struct, and the inner braces correspond to the data[] array.
In most cases you can drop the outer braces. In your last example, however, dropping them creates an ambiguity, and you need:
boost::array< boost::array
, 4 > foo = {{ {-1,1}, {0,0}, {1,-1}, {2,-2} }};
Ahah. It makes sense now, thank you.