考虑:
enum Test
{
a = 3,
b = 7,
c = 1
};
Run Code Online (Sandbox Code Playgroud)
我想使用索引访问枚举.像这样的东西:
for (i=0; i<n; i++)
doSomething((Test)i);
Run Code Online (Sandbox Code Playgroud)
我怎么能做这样的事情,我可以使用索引访问枚举,虽然枚举的成员有不同的值?
zwo*_*wol 11
这是你能做的最好的事情:
enum Test { a = 3, b = 7, c = 1, LAST = -1 };
static const enum Test Test_map[] = { a, b, c, LAST };
for (int i = 0; Test_map[i] != LAST; i++)
doSomething(Test_map[i]);
Run Code Online (Sandbox Code Playgroud)
你必须自己维护映射.