为什么我的常量不能用于创建我的数组?

Why can my constant not be used to create my array?

我想创建一个包含多个图块对象的数组(称为 Tile),但它说我的常量 int numTiles 不能用作...常量 int ... 什么? 我遇到问题的代码在这里(第 5 行错误):

// Variables - Tilemap
const int tileSize = 32;
const int screenWidth = GetScreenWidth();
const int numTiles = screenWidth / tileSize;
Tile tilemap[numTiles];

我得到的错误如下:expression must have a constant value the value of variable "numTiles" (declared at line 14) cannot be used a constant

我不确定为什么会遇到这个问题,因为看起来 numTiles 绝对是一个常量整数...有人可以解释这里的问题吗?

感谢 post 评论中的人向我解释了这一点: 变量在运行时计算,而需要在编译时计算(这是由于我使用了GetScreenWidth(),编译时显然不能运行)。