我想将枚举变量中的值存储在数组中的另一个命名空间中。
因此假设枚举声明如下
namespace something
{
enum IWANT
{
FOO = 0,
BAR,
BLARGH,
MEH,
SIZE
};
} // namespace SOMETHING
我可以访问此枚举使用
something::FOO
是否可以从数组中的某些内容存储我想要的某些变量?例如
<varType> onlyWhatIwant[3] = {something::FOO, something::BAR, something::SIZE}
这样当变量使用如下onlyWhatIwant[1] points to the something::BAR
我不知道这是否可能,但我想在寻找另一条路线之前会问。
答案 0 :(得分:1)
枚举基本上是一种定义整数常量的方法;它们没有关联的地址,因此您可以使用传统意义上的指针。你想做什么在某种程度上是可能的(查看下面的完整例子);但是,数组元素不会指向别的东西。它们的值将等于指定的常量(在我的示例中为foo :: first和foo :: second)。
namespace foo {
enum X {first, second};
};
int main() {
foo::X t[3] = {foo::first, foo::first, foo::second};
return 0;
}
答案 1 :(得分:0)
这样的枚举
namespace something{
enum myEnum{
Val0 = 0,
Val1 = 1,
Val2 = 2,
Val3 = 3,
//...
//Valn = n
};
}
你也可以使用这样的东西作为值的别名
enum onlywhatiwant{
Val1 = something::Val1,
Val3 = something::Val3
// etc
};