Я сделал перечисление, как:перечисление класса в качестве индекса массива
enum class KeyPressSurfaces {
KEY_PRESS_SURFACE_DEFAULT,
KEY_PRESS_SURFACE_UP,
KEY_PRESS_SURFACE_DOWN,
KEY_PRESS_SURFACE_LEFT,
KEY_PRESS_SURFACE_RIGHT,
KEY_PRESS_SURFACE_TOTAL
};
и позже я пытаюсь определить массив, как я напечатал ниже, но я получил ошибку, size of array 'KEY_PRESS_SURFACES' has non-integral type 'KeyPressSurfaces'
SDL_Surface*KEY_PRESS_SURFACES[KeyPressSurfaces::KEY_PRESS_SURFACE_TOTAL];
I понять ошибку, но я не знаю, куда переместить KeyPressSurfaces
, чтобы определить константу в перечислении.
Я также понимаю, что могу просто использовать enum
, а не enum class
, но я чувствую, что это должно работать, и я хочу узнать, как это сделать.
Любой ответ/совет приветствуется! Благодаря!
Почему вы так много хотите использовать перечисление, чтобы указать размер массива? Размер должен быть постоянной времени компиляции. – user463035818
Перечисление - это постоянная времени компиляции. – parsley72