On Sunday, 28 September 2014 at 04:24:25 UTC, Joel wrote:
I'm trying to make a multidimensional array. I feel I've tried every thing. Is there a good guide explaining it?

struct Spot { bool dot; }
spots = new Spot[][](800,600);
        assert(spots[800-1][600-1].dot, "Out of bounds");

dot is initialized to false, then the assertion fails. But your assertion message leads to think that there is a bound error, which is not the case, the
assertion fails because you're expecting dot to be true:

----
import std.stdio;

void main(string args[])
{
    struct Spot { bool dot; }
    auto spots = new Spot[][](800,600);

    writeln(spots);
            assert(!spots[800-1][600-1].dot, "Out of bounds");
}
----

passes without failure. Actually the array size is OK.

Reply via email to