Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 };