运行时在D中分配多维数组
是否可以在 D 中分配二维数组(及更高维)?
以下内容不起作用:
void create2DArray(uint w, uint h) {
double[][] histogram = new double[w][h];
}
但是,以下内容可以正常编译:
void create1DArray(uint w) {
double[] histogram = new double[w];
}
Is it possible to allocate 2-dimensional arrays (and higher) in D?
The following does not work:
void create2DArray(uint w, uint h) {
double[][] histogram = new double[w][h];
}
however, the following compiles fine:
void create1DArray(uint w) {
double[] histogram = new double[w];
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要使用如下所示的构造函数语法:
效果很好,至少在 D2 中是这样。
You need to use constructor syntax like this:
That works fine, at least in D2.
这是一个提案 http://www.tcm。 phy.cam.ac.uk/~nn245/documents/D-multidimarray.html
看起来您必须使用循环为其自身分配每一行。
Here is a proposal http://www.tcm.phy.cam.ac.uk/~nn245/documents/D-multidimarray.html
Looks like you have to allocate each row for itself with a loop.