阐述的类型说明符
详细的类型说明符是通过以下任一方法开头的类型名称class, struct, enum,或union关键字。
class identifier
struct identifier
enum identifier
union identifier
备注
使用详细的类型说明符的强调,或者以显示隐藏的同一范围中具有相同名称的变量声明的类型名称。
下面的语句声明Window与类名的标识符。 此语法用于类的前向声明。 有关类名称的详细信息,请参阅类名。
class Window;
如果使用声明名称联合 关键字,它还必须定义使用 联合关键字。 使用定义的名称类关键字可以声明使用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];
};