atributo enum

A palavra-chave enum identifica um tipo enumerado.

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

Parâmetros

marcação

Especifica uma marca opcional para o tipo enumerado.

identifier

Especifica a enumeração específica.

valor inteiro

Especifica um valor inteiro constante.

Comentários

Os tipos de enumeração podem aparecer como especificadores de tipo em declarações typedef , declarações gerais e declaradores de função (seja como o tipo de retorno de função ou como um especificador de tipo de parâmetro). Para o contexto no qual os especificadores de tipo são exibidos, consulte o Arquivo de Definição de Interface (IDL).

No modo padrão do compilador MIDL, você pode atribuir valores inteiros a enumeradores. (Esse recurso não está disponível quando você compila com o comutador /osf .) Assim como acontece com enumeradores de linguagem C, os nomes do enumerador devem ser exclusivos, mas os valores do enumerador não precisam ser.

Quando os operadores de atribuição não são fornecidos, os identificadores são mapeados para inteiros consecutivos da esquerda para a direita, começando com zero. Quando os operadores de atribuição são fornecidos, os valores atribuídos começam do valor atribuído mais recentemente.

O número máximo de identificadores é 65.535.

Objetos de tipo enum são tipos int e seu tamanho é dependente do sistema. Por padrão, objetos de tipos de enumeração são tratados como objetos de 16 bits do tipo unsignedshort quando transmitidos por uma rede. Valores fora do intervalo 0 a 32.767 causam a exceção de tempo de execução RPC_X_ENUM_VALUE_OUT_OF_RANGE. Para transmitir objetos como entidades de 32 bits, aplique o atributo [v1_enum] ao typedef de enumeração .

Exemplos

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

Confira também

Arquivo IDL (Definição de Interface)

int

short

Typedef

Unsigned

v1_enum