how to initialize an array of struct

torhu no at spam.invalid
Thu Feb 12 13:02:06 PST 2009


On 12.02.2009 15:16, Frits van Bommel wrote:
> bearophile wrote:
>>  westcity Wrote:
>>>  But, the compiler report "Error: array initializers as expressions are not allowed".
>>>  Then, how do I initialize an array of struct ?
>>
>>  Move the definition out of main (note that ; after the struct isn't required):
>>
>>  struct Point {
>>      float x, y, z;
>>  }
>>
>>  Point[3] pts = [{1.0, 0.0, 0.0},
>>                  {0.0, 1.0, 0.0},
>>                  {0.0, 0.0, 1.0}];
>>
>>  void main () {}
>
> The fact that *does* compile just makes the error message all the more
> crazy...

It should compile inside of main if declared static.  It's just the 
error message that's a bit off.


More information about the Digitalmars-d-learn mailing list