Does D support dynamically allocated multi-dimensional arrays?

Jonathan M Davis jmdavisprog at gmail.com
Sun Aug 15 19:33:02 PDT 2010


On Sunday 15 August 2010 19:20:12 Seth Hoenig wrote:
> What I really want is something like this:
> 
> auto s = args[1];
> auto t = args[2];
> auto d = new int[s.length][t.length];
> 
> but the compiler complains with the error: Error: Integer constant
> expression expected instead of s.length
> 
> So then I try to fudge it with something like:
> 
> auto d = new int[][t.length];
> d.length = s.length;
> 
> But then accessing elements of d throws an exception:
> core.exception.RangeError at Lev(7): Range violation
> 
> Soo.. how am I supposed to make a matrix when I don't know the dimensions
> at compile time?

Oh, and questions like this are generally supposed to go on the D.Learn list. 
This list is more for discussing language features and the direction of the 
language rather than asking and answering questions about how to use D.

- Jonathan M Davis


More information about the Digitalmars-d mailing list