2

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

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 上。

4

1 回答 1

14

Anenum class称为作用域枚举。您需要在枚举范围内使用它的枚举数。例如,

int a = enumTest::VALUE1;
于 2012-01-20T18:35:24.027 回答