Поделиться через


Ошибка компилятора C7742

Идентификатор: предварительное объявление перечисления может использовать только простой идентификатор

Замечания

Стандарт C++ не позволяет объявлять закрытое перечисление с помощью квалифицированного идентификатора. Закрытое объявление перечисления указывает имя и базовый тип, но не перечисляет перечислители или их значения.

Example

В следующем примере создается C7742:

// C7742.cpp
class MyClass
{ 
public: 
    enum MyEnum
    { 
        e1, 
        e2 
    }; 
}; 
  
enum MyClass::MyEnum;   // C7742

Чтобы исправить эту ошибку, удалите непрозрачное объявление перечисления, так как оно не добавляет ничего в программу.

Однако можно определить перечисление с помощью квалифицированного идентификатора. Например:

struct S
{
   enum E : int;
};

enum S::E : int { e1, e2, e3 };