digitalmars.D - Does D support dynamically allocated multi-dimensional arrays?
- Seth Hoenig (13/13) Aug 15 2010 What I really want is something like this:
- Simen kjaeraas (4/18) Aug 15 2010 auto d = new int[][](args[1].length, args[2].length);
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 Lev(7): Range violation Soo.. how am I supposed to make a matrix when I don't know the dimensions at compile time?
Aug 15 2010
Seth Hoenig <seth.a.hoenig gmail.com> 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 Lev(7): Range violation Soo.. how am I supposed to make a matrix when I don't know the dimensions at compile time?auto d = new int[][](args[1].length, args[2].length); -- Simen
Aug 15 2010