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.
Das [switch_type]- Attribut identifiziert den Typ der Variablen, die als Union-Diskriminant verwendet wird. Der Switchtyp kann eine ganze Zahl, ein Zeichen, ein boolescher Typ oder ein Enumerationstyp sein.
switch_type(switch-type-specifier)
Parameter
-
switch-type-spezifizierer
-
Gibt einen int-, char-, booleschen oder enum-Typ oder einen Bezeichner eines solchen Typs an.
Bemerkungen
Während das [switch_type]- Attribut den Variablentyp identifiziert, gibt das [switch_is] -Attribut den Namen des Parameters an, der die Union-Unterscheidung darstellt. Das [switch_type] -Attribut gilt für Parameter oder Member von Strukturen oder Unions.
Die Union und ihre Diskriminanz müssen auf derselben logischen Ebene angegeben werden. Wenn union ein Parameter ist, muss der Union-Diskriminant ein anderer Parameter sein. Wenn die Union ein Feld einer Struktur ist, muss der Diskriminant ein weiteres Feld der Struktur auf derselben Ebene wie das Union-Feld sein.
Beispiele
typedef [switch_type(short)] union _WILLIE_UNION_TYPE
{
[case(24)]
float fMays;
[case(25)]
double dMcCovey;
[default]
;
} WILLIE_UNION_TYPE;
typedef struct _WINNER_TYPE
{
[switch_is(sUniformNumber)] WILLIE_UNION_TYPE w;
short sUniformNumber;
} WINNER_TYPE;
Weitere Informationen