Teilen über


Compilerfehler C7742

Identifier: eine Forward-Deklaration eines Enums kann nur einen einfachen Bezeichner verwenden

Bemerkungen

Der C++-Standard lässt das Deklarieren einer undurchsichtigen Aufzählung mit einer qualifizierten ID nicht zu. Eine undurchsichtige Enumerationsdeklaration gibt den Namen und den zugrunde liegenden Typ an, listet jedoch nicht die Enumerationen oder deren Werte auf.

Example

Im folgenden Beispiel wird C7742 generiert:

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

Um diesen Fehler zu beheben, entfernen Sie die undurchsichtige Enumerationsdeklaration, da dem Programm nichts hinzugefügt wird.

Sie können jedoch eine Enumeration mit einer qualifizierten ID definieren. Zum Beispiel:

struct S
{
   enum E : int;
};

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