VC中枚举类型的一个奇怪问题
emum enum_key
{
KEY_0 = 0, // = 0
KEY_1 = 1, // =1
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_SPACE = 3,
KEY_ESC,
KEY_ENTER
};
红色部分的index怎么会相同呢?
很古怪的问题
[解决办法]
枚举类就是这样的特性,如果没有对其枚举变量进行初始化,那么其变量值从上面最后一个赋初值的变量开始,依次+1,直到下一个被初始化的变量为止。
例子中,KEY_0到KEY_5分别是从0-5,而KEY_SPACE被初始化为3,那么后面的KEY_ESC和KEY_ENTER也分别是4和5。