On Monday, 13 April 2015 at 17:02:13 UTC, CraigDillabaugh wrote:
On Monday, 13 April 2015 at 16:53:55 UTC, BS & LD wrote:
As you know in 'C' you can create a variable-length-array
using variably modified type and a run-time variable
allocating a storage for it - the same way for any local
(normally using the stack).
However in 'D' I don't see such feature. Code like this fails:
void main()
{
size_t szArr = 3;
int[szArr] arr;
}
With this error message:
error: variable szArr cannot be read at compile time
int[szArr] arr;
Life example -
http://melpon.org/wandbox/permlink/a6CzBhYk88FohKlf
Note: I'm also amazed why 'D' compiler can't detect that
'szArr' is a constant anyway.
This likely belongs in D.learn. What you are looking for is:
int[] arr;
arr.length = 3;
Eww.
auto arr = new int[3];
Also, I think he's referring to something slightly different.