在运行时在D中分配多维数组

时间:2011-07-02 19:32:25

标签: memory-management multidimensional-array d

是否可以在D?

中分配二维数组(和更高)?

以下不起作用:

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

然而,以下编译很好:

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

2 个答案:

答案 0 :(得分:1)

您需要使用如下构造函数语法:

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

这很好,至少在D2中。

答案 1 :(得分:0)

以下是提案http://www.tcm.phy.cam.ac.uk/~nn245/documents/D-multidimarray.html

看起来你必须为循环分配每一行。