如果我有一个如下定义的枚举:
enum CovariancesContext : int
{
INVALID = -1,
HORIZONTAL = 0,
VERTICAL = 1,
NUMBER_OF_CONTEXTS
};
我想知道它的价值是什么或
NUMBER_OF_CONTEXTS
?我认为应该是3?
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
};