使用枚举类的未定义符号

时间:2012-01-20 18:22:44

标签: c++ enums c++11 c++builder-xe2

这可能是一个微不足道的问题,但我无法克服枚举类数据的问题:

enum class enumTest
{
   VALUE0 = 0, VALUE1 = 1, VALUE2 = 2
};

void __fastcall TForm1::Button1Click (TObject* Sender)
{
int a = VALUE1;
}

我得到:错误:未定义的符号:'VALUE1'

将枚举类枚举更改为:

enum //class enumTest

编译器正常工作。

不幸的是我不能这样做,因为它被定义到TLB / OCX包含文件中,就像许多其他声明一样。 这种情况发生在不同供应商的不同类型的OCX上。

1 个答案:

答案 0 :(得分:13)

enum class称为范围的枚举。您需要在枚举范围内使用其枚举器。例如,

int a = enumTest::VALUE1;