Udostępnij za pomocą


Błąd kompilatora C7742

Identyfikator: deklaracja wstępna wyliczenia może używać tylko prostego identyfikatora

Uwagi

Standard C++ nie zezwala na deklarowanie nieprzezroczystego wyliczenia przy użyciu kwalifikowanego identyfikatora. Nieprzezroczysta deklaracja wyliczenia określa nazwę i typ bazowy, ale nie zawiera listy elementów wyliczenia ani ich wartości.

Example

Poniższy przykład generuje C7742:

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

Aby naprawić ten błąd, usuń nieprzezroczystą deklarację wyliczenia, ponieważ nie dodaje niczego do programu.

Można jednak zdefiniować enumerację za pomocą kwalifikowanego identyfikatora. Na przykład:

struct S
{
   enum E : int;
};

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