Identificatori di elaborazione del tipo

Un identificatore di tipo elaborato è un nome di tipo preceduto da uno di class, struct, enum, o union parola chiave.

class identifier
struct identifier
enum identifier
union identifier

Note

Un identificatore di tipo elaborato viene utilizzato per aggiungere enfasi o per visualizzare un nome di tipo nascosto dalla dichiarazione di una variabile con lo stesso nome nello stesso ambito.

L'istruzione seguente dichiara la Window identificatore come nome di classe.Questa sintassi viene utilizzata per la dichiarazione con prototipo delle classi.Per ulteriori informazioni sui nomi di classe, vedere I nomi delle classi.

class Window;

Se un nome viene dichiarato mediante la unione parola chiave, deve anche essere definito utilizzando il unione parola chiave.I nomi che vengono definiti mediante la classe parola chiave può essere dichiarate utilizzando il struct parola chiave (e viceversa).Di conseguenza, gli esempi di codice riportato di seguito sono validi:

Esempio

// 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()
{
}

Gli esempi seguenti sono validi:

// 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];
};

Vedere anche

Riferimenti

Identificatori di tipo C++