这可能是一个微不足道的问题,但我无法克服枚举类数据的问题:
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上。
答案 0 :(得分:13)
enum class
称为范围的枚举。您需要在枚举范围内使用其枚举器。例如,
int a = enumTest::VALUE1;