構造体列挙型があり、その値を使用して配列サイズを定義します。ただし、コンパイラは、構造体の値がコンパイル時に不明であると不平を言います。
module main;
struct Point3D {
ubyte x;
ubyte y;
ubyte z;
}
void main() {
enum Point3D point = {x:1, y:1, z:1};
int testArray[point.x][point.y][point.z]; // ERRORS - X Cannot be read at compile time.
}
コンパイラは、コンパイル時に x を読み取れないことを教えてくれます (4 回も教えてくれます)。どうしてこれなの?