정교한 형식 지정자

정교한 형식 지정자를 형식 이름으로 앞에입니다 있는 class, struct, enum, 또는 union 키워드.

class identifier
struct identifier
enum identifier
union identifier

설명

정교한 형식 지정자 나 강조 하기는 동일한 범위에서 이름이 같은 변수를 선언 하 여 숨겨져 있는 형식 이름을 표시 하려면 사용 됩니다.

다음 문은 선언에서 Window 클래스 이름과 식별자입니다.이 구문은 클래스의 전방 선언에 사용 됩니다.클래스 이름에 대 한 자세한 내용은 클래스 이름.

class Window;

이름을 사용 하 여 선언 되는 경우는 union 키워드를 사용 또한 정의 되어야 합니다는 union 키워드.이름을 사용 하 여 정의 되는 클래스 키워드를 사용 하 여 선언할 수 있습니다는 struct 키워드 (또는 그 반대로).따라서 다음 코드 샘플은 법률은 다음과 같습니다.

예제

// elaborated_type_specifiers1.cpp
struct A;   // Forward declaration of A.

class A   // Define A.
{
public:
   int i;
};

int main()
{
}

// elaborated_type_specifiers2.cpp
class A;   // Forward declaration of A

struct A
{
private:
    int i;
};

int main()
{
}

// elaborated_type_specifiers3.cpp
union A;   // Forward declaration of A

union A
{
   int  i;
   char ch[2];
};

int main()
{
}

그러나 다음 예제에서는 사용할 수 없습니다.

// elaborated_type_specifiers4.cpp
union A;   // Forward declaration of A.

struct A
{   // C2011
   int i;
};

// elaborated_type_specifiers5.cpp
union A;   // Forward declaration of A.

class A
{   // C2011
public:
   int i;
};

// elaborated_type_specifiers6.cpp
struct A;   // Forward declaration of A.

union A
{   // C2011
   int  i;
   char ch[2];
};

참고 항목

참조

C + +의 형식 지정자