Compartir a través de


atributo enum

La enumeración de palabra clave identifica un tipo enumerado.

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

Parámetros

tag

Especifica una etiqueta opcional para el tipo enumerado.

identifier

Especifica la enumeración determinada.

integer-value

Especifica un valor entero constante.

Observaciones

Los tipos de enumeración pueden aparecer como especificadores de tipo en declaraciones typedef, declaraciones generales y declaradores de función (ya sea como function-return-type o como especificador de tipo parámetro). Para ver el contexto en el que aparecen los especificadores de tipo, vea Archivo de definición de interfaz (IDL).

En el modo predeterminado del compilador MIDL, puede asignar valores enteros a enumeradores. (Esta característica no está disponible cuando se compila con el modificador /osf ). Al igual que con los enumeradores del lenguaje C, los nombres del enumerador deben ser únicos, pero no es necesario que los valores del enumerador.

Cuando no se proporcionan operadores de asignación, los identificadores se asignan a enteros consecutivos de izquierda a derecha, empezando por cero. Cuando se proporcionan operadores de asignación, los valores asignados comienzan desde el valor asignado más recientemente.

El número máximo de identificadores es de 65 535.

Los objetos de enumeración de tipo son tipos int y su tamaño depende del sistema. De forma predeterminada, los objetos de tipos de enumeración se tratan como objetos de 16 bits de tipo unsignedshort cuando se transmiten a través de una red. Los valores fuera del intervalo 0 a 32 767 provocan la excepción en tiempo de ejecución RPC_X_ENUM_VALUE_OUT_OF_RANGE. Para transmitir objetos como entidades de 32 bits, aplique el atributo [v1_enum] a la definición de tipo de enumeración .

Ejemplos

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

Vea también

Archivo de definición de interfaz (IDL)

int

Corto

Typedef

Unsigned

v1_enum