2

構造体列挙型があり、その値を使用して配列サイズを定義します。ただし、コンパイラは、構造体の値がコンパイル時に不明であると不平を言います。

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 回も教えてくれます)。どうしてこれなの?

4

1 に答える 1