Выделить многомерный массив в D во время выполнения - PullRequest
0 голосов
/ 02 июля 2011

Можно ли выделить 2-мерные массивы (и выше) в D?

Следующее не работает:

void create2DArray(uint w, uint h) {
    double[][] histogram = new double[w][h];
}

однако, скомпилируется следующее:

void create1DArray(uint w) {
    double[] histogram = new double[w];
}

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Вам нужно использовать синтаксис конструктора следующим образом:

void create2DArray(uint w, uint h) {
    double[][] histogram = new double[][](w, h);
}

Это прекрасно работает, по крайней мере, в D2.

0 голосов
/ 03 июля 2011

Вот предложение http://www.tcm.phy.cam.ac.uk/~nn245/documents/D-multidimarray.html

Похоже, вам нужно выделить каждую строку для себя с помощью цикла.

...