$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Michael Marcin (mmarcin_at_[hidden])
Date: 2006-08-09 15:54:36
Peter Dimov wrote:
> Michael Marcin wrote:
>> 
>> <snip>
>>
> 
> To initialize a boost::array "by the book" you need double braces:
> 
> boost::array<int,2> foo = {{ 1, 2 }};
> 
> because a boost::array<int, 2> 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<int,2>, 4 > foo = {{ {-1,1}, {0,0}, {1,-1},
> {2,-2} }};
Ahah.  It makes sense now, thank you.