Dr.Smith: > For example: > > double [string] data; > double [200][1000] data2; > > for(int i = 0; i < 200; i++) { > for(int j = 0; j < 1000; j++) { > > // fake multi-dim works > string str = to!string(i) ~ "," ~ to!string(j); > data[str] = someNumber; > > // real multi-dim does not work > data2[i][j] = someNumber; > } > }
You receive the same stack overflow error with this simpler code: void main() { double[200][1000] a; } Keep in mind this is a fixed-sized array, so it's allocated on the stack. On Windows with DMD if you add a switch like this, to increase max stack size, that code works: -L/STACK:10000000 Bye, bearophile