私の世界を表す巨大な 3 次元配列があります。大きすぎて静的に初期化できません:
alias Cell[128][128][128] World; // <-- The compiler points to this line
Error: index 128 overflow for static array
使用してみWorld* world
ましたが、上記のオーバーフローでまだエラーになります。だから私が今持っているのは、この醜い混乱です:
alias Cell[][][] World;
// ...
private World world;
// ...
world.length = WORLD_XDIM;
for (uint x = 0; x < world.length; ++x)
{
world[x].length = WORLD_YDIM;
for (uint y = 0; y < world[x].length; ++y)
{
world[x][y].length = WORLD_ZDIM;
}
}
それはうまくいきますが、それは私を内側で少し泣かせます. calloc の結果を 3 次元配列にキャストする方法はありますか? 私は通常の配列をスライスしてそれを行いましたが、3次元のことは私を混乱させています。