On Sunday, 22 January 2017 at 08:07:26 UTC, rikki cattermole
wrote:
On 22/01/2017 9:05 PM, Jot wrote:
auto x = new int[][](n,m);
But one cannot freely assign anywhere in x:
x[3,6] = 4 crashes.
I, can, of course, convert everything to a linear matrix and
index by
i+w*j, but what's the point of having multidimensional
matrices in D if
they don't allocate them fully?
It does allocate them fully, you're indexing them wrong.
void main() {
auto x = new int[][](1, 2);
x[0][1] = 3;
}
No, that isn't the reason, it was cause I was going past the end
when I added some new code(the [3,6] was suppose to be [3][6]).
I tried it before and it was crashing before I added the new code
and visualD seems to not be updating variable values properly
anymore so I can't really debug ;/
In anycase, what is the correct notation for indexing?
x = new int[][](width, height)
and x[height][width] or x[width][height]?