Static initialization of rectangular arrays
rombankzero
bogomancer at gmail.com
Thu Aug 29 15:10:26 UTC 2019
Hey, everybody! I'm having Array Problems™. The documentation on
arrays says that you can initialize all elements of a rectangular
array with the following syntax:
> double[6][3] matrix = 0; // Sets all elements to 0.
However this doesn't appear to work for static initialization:
> static double[6][3] matrix = 0; // Error: cannot implicitly
> convert expression `0` of type `int` to `double[6][3]`
More confusingly, it *does* work for one-dimensional static
arrays:
> static double[6] matrix = 0; // Thumbs up from the compiler.
Is this a bug, or am I missing something? It would be really
convenient to be able to statically initialize rectangular arrays
in this way. Example: I have a struct that has a member that's a
rectangular float array, but I have no way of telling the
compiler that I want it default-initialized to all-zeroes
(instead of NaNs)!
More information about the Digitalmars-d-learn
mailing list