我做了一个枚举:
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];
我理解错误很好,但我不知道将 KeyPressSurfaces
移到哪里来限定枚举中的常量。
我也意识到我可以只使用 enum
而不是 enum class
,但我觉得这应该可行,我想学习如何做到这一点。
任何回应/建议?
原文由 Hayden Piper 发布,翻译遵循 CC BY-SA 4.0 许可协议
作用域
enum
s (enum class
) 不能隐式转换为整数。您需要使用static_cast
: