Неопределенный символ с использованием класса enum - PullRequest
2 голосов
/ 20 января 2012

Это, вероятно, тривиальный вопрос, но я не могу решить проблему с данными класса enum:

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

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

Я получаю: Ошибка: неопределенный символ: 'VALUE1'

Изменение перечисления enum-класса на:

enum //class enumTest

компилятор работает нормально.

К сожалению, я не могу этого сделать, потому что он определен во включаемом файле TLB / OCX, как и многие другие объявления. Это происходит с разными типами OCX разных поставщиков.

1 Ответ

13 голосов
/ 20 января 2012

enum class называется перечислением с областью действия . Вам необходимо использовать его перечислители в области перечисления. Например,

int a = enumTest::VALUE1;
...