枚举项的数量

问题描述 投票:0回答:1

如果我有一个如下定义的枚举:

enum CovariancesContext : int
{
    INVALID             = -1,
    HORIZONTAL          =  0,
    VERTICAL            =  1,
    NUMBER_OF_CONTEXTS
};

我想知道它的价值是什么或

NUMBER_OF_CONTEXTS
?我认为应该是3?

c++ enums
1个回答
0
投票

NUMBER_OF_CONTEXTS
的值将是2,而不是3。如果你没有为枚举元素指定值,它将被赋予前一个元素的值+1,或者如果没有元素则为0。由于
VERTICAL
的值为 1,因此
NUMBER_OF_CONTEXTS
将是 1+1=2。如果您希望它是 3,则必须明确指定它:

enum CovariancesContext : int
{
    INVALID             = -1,
    HORIZONTAL          =  0,
    VERTICAL            =  1,
    NUMBER_OF_CONTEXTS  =  3
};
© www.soinside.com 2019 - 2024. All rights reserved.