attribut enum

Le mot clé enum identifie un type énuméré.

enum [tag ] 
{ 
    identifier [=integer-value ] 
    [ , ... ] 
}

Paramètres

étiquette

Spécifie une balise facultative pour le type énuméré.

identifier

Spécifie l’énumération particulière.

valeur entière

Spécifie une valeur entière constante.

Notes

les types enum peuvent apparaître en tant que spécificateurs de type dans les déclarations typedef , les déclarations générales et les déclarateurs de fonction (en tant que fonction-Return-type ou en tant que spécificateur de type paramètre). Pour le contexte dans lequel les spécificateurs de type s’affichent, consultez fichier de définition d’interface (IDL).

Dans le mode par défaut du compilateur MIDL, vous pouvez assigner des valeurs entières à des énumérateurs. (Cette fonctionnalité n’est pas disponible quand vous compilez avec le commutateur /OSF .) Comme avec les énumérateurs de langage C, les noms d’énumérateur doivent être uniques, mais les valeurs d’énumérateur n’ont pas besoin d’être.

Lorsque les opérateurs d’assignation ne sont pas fournis, les identificateurs sont mappés à des entiers consécutifs de gauche à droite, en commençant par zéro. Lorsque des opérateurs d’assignation sont fournis, les valeurs affectées commencent à partir de la dernière valeur assignée.

Le nombre maximal d’identificateurs est 65 535.

Les objets de type enum sont des types int et leur taille est dépendante du système. Par défaut, les objets de types enum sont traités comme des objets 16 bits de type unsigned short lorsqu’ils sont transmis sur un réseau. Les valeurs situées en dehors de la plage 0 à 32 767 provoquent la _ valeur enum X RPC de l’exception Runtime _ _ _ hors _ _ limites. Pour transmettre des objets en tant qu’entités 32 bits, appliquez l' [ attribut _ enum v1 ] au typedef enum .

Exemples

typedef enum {Monday=2, Tuesday, Wednesday, Thursday, Friday} workdays; 
 
typedef enum {Clemens=21, Palmer=22, Ryan=34} pitchers;

Voir aussi

Fichier de définition d’interface (IDL)

int

Résumé

typedef

non signé

_enum v1