識別子: 列挙型の前方宣言では、単純な識別子のみを使用できます
注釈
C++ 標準では、修飾 ID を使用して不透明な列挙型を宣言することはできません。不透明な列挙型宣言では、名前と基になる型を指定しますが、列挙子とその値は一覧表示されません。
Example
次の例では C7742 が生成されます。
// C7742.cpp
class MyClass
{
public:
enum MyEnum
{
e1,
e2
};
};
enum MyClass::MyEnum; // C7742
このエラーを修正するには、プログラムに何も追加しないため、不透明な列挙宣言を削除します。
ただし、修飾 ID を使用して列挙体を定義できます。例えば:
struct S
{
enum E : int;
};
enum S::E : int { e1, e2, e3 };