据我所知,如果我们有 enum n{sunday //0,monday //1 ,Tuesday //2}
所以 enum r { one, two = 4, three = 1, four};
1 的值应该是 0
, 二是 4
, 三是 1
四是3
我试过了
cout << four
结果是
2
最佳答案
enum
的工作方式如下,让我们以您的示例为例:
enum r { one, two = 4, three = 1, four};
one
以 0
开始,因为没有定义初始值。
two
被定义为 4
如果它没有声明为 4
,two
将是 1
代替。
three
被定义为 1
,如果 two
和 three
之前没有声明,它应该是 2
但它是 1
。
four
没有任何相等性,因此它将获得分配的下一个值,因为 three
是 1,four
将是 2
。
如果没有赋值,它看起来像这样:
enum r { one, two, three, four};
一个
= 0
, two
= 1
, three
= 2
,四
= 3
。
希望对你有帮助
关于C++ 枚举索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50203866/