【发布时间】:2017-04-18 09:26:10
【问题描述】:
如果我有枚举:
typedef enum
{
A= 0,
B= 1,
C =2,
D= 4,
E= 6,
F= 8,
G= 10,
MAX_ELEMENTS
}my_enum
如果没有一个元素,如何在 enum 中声明元素的数量?
类似这样的:
uint8 enum_numb_elements = MAX_ELEMENTS - 1
这不是对枚举进行算术运算的好习惯。还有其他方法吗?
【问题讨论】:
-
enum_size是什么意思?sizeof会给出与MAX_ELEMENTS - 1截然不同的答案。 -
你查过[ this ]的答案吗?
-
两者都没有给出枚举中的元素数量。获得这个数字的唯一方法是手工计算元素。
-
@sjsam 这不适用于像这个问题那样的稀疏枚举。
-
@kingkong 我认为您最好定义您要解决的更广泛的问题以及为什么您的枚举存在差距等。可能有更好的方法来解决您的问题。