Compartir a través de


Directiva #undef (C/C++)

Quitar (de) un nombre creado previamente con #define.

#undef identifier

Comentarios

La directiva de #undef quita la definición actual del identificador.Por consiguiente, las apariciones posteriores identifier son omitirán por el preprocesador.Para quitar una definición de macro mediante #undef, asigne solo el identificador de macro; no proporcione una lista de parámetros.

También puede aplicar la directiva de #undef a un identificador que no tiene ninguna definición anterior.Esto garantiza que el identificador es indefinido.El reemplazo macro no se realiza dentro de las instrucciones de #undef .

La directiva de #undef se empareja normalmente con una directiva de #define para crear una región en un programa de origen en el que un identificador tiene un significado especial.Por ejemplo, una función específica del programa de origen puede utilizar constantes de manifiesto para definir los valores entorno-específicos que no afectan al resto del programa.La directiva de #undef también funciona con la directiva de #if para controlar la compilación condicional del origen.Vea La directiva #if, #elif el, #else, y las directivas #endif para obtener más información.

En el ejemplo siguiente, la directiva de #undef quita definiciones de una constante simbólica y una macro.Observe que solo el identificador de la macro está especificado.

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

Específicos de Microsoft

Las macros pueden ser indefinidas de la línea de comandos con la opción /U, seguida de los nombres de macro que se undefined.El efecto de emitir este comando equivale a una secuencia de instrucciones de macro-nombre de #undefal principio del archivo.

Específico de Microsoft de FINAL

Vea también

Referencia

Directivas de preprocesador