Partilhar via


#undef diretiva (C/C++)

Remove (remoções de definições) criado anteriormente com um nome de #define.

#undef identifier

Comentários

O #undef diretiva remove a definição atual das identificador.Conseqüentemente, ocorrências subseqüentes do identificador são ignoradas no pré-processador.Para remover uma definição de macro usando #undef, conceder somente a macro identificador ; não forneça uma lista de parâmetros.

Você também pode aplicar o #undef diretiva em um identificador de nenhuma definição anterior.Isso garante que o identificador está indefinido.Substituição de macro não é executada dentro de #undef instruções.

O #undef diretiva geralmente é combinada com um #define a diretiva para criar uma região em um programa de origem no qual um identificador tem um significado especial.Por exemplo, uma função específica do programa de origem pode usar constantes do manifesto para definir valores específicos do ambiente que não afetam o resto do programa.O #undef diretiva também funciona com o #if a diretiva para controlar a compilação condicional do programa de origem.Consulte A configuração # if, # elif, # else e # endif diretivas para obter mais informações.

No exemplo a seguir, o #undef diretiva remove as definições de uma constante simbólica e uma macro.Observe que somente o identificador da macro é fornecido.

#define WIDTH 80
#define ADD( X, Y ) ((X) + (Y))
.
.
.
#undef WIDTH
#undef ADD

Específicos do Microsoft

As macros podem ser indefinidas da linha de comando usando a opção /U, acompanhada dos nomes de macro para ser indefinido.O efeito de emissão deste comando é equivalente a uma seqüência de #undefnome da macro instruções no início do arquivo. 

Específicos do Microsoft final

Consulte também

Referência

Diretivas de pré-processador