#undef (Directiva) (C/C++)
Quita (anula la definición de) un nombre creado previamente con #define.
#undef identifier
Comentarios
La directiva #undef quita la definición actual de identifier. Por consiguiente, el preprocesador omite las apariciones posteriores de identifier. Para quitar una definición de macro utilizando #undef, solo hay que proporcionar el identifier de macro; no hay que proporcionar una lista de parámetros.
También puede aplicar la directiva #undef a un identificador que no tenga ninguna definición anterior. De este modo se garantiza que el identificador no esté definido. El reemplazo de macros no se realiza dentro de instrucciones #undef.
La directiva #undef se empareja normalmente con una directiva #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 valores específicos del entorno que no afecten al resto del programa. La directiva #undef también funciona con la directiva #if para controlar la compilación condicional del programa de origen. Vea Directivas #if, #elif, #else y #endif para obtener más información.
En el ejemplo siguiente, la directiva #undef quita las definiciones de una constante simbólica y una macro. Observe que solo se proporciona el identificador de la macro.
#define WIDTH 80
#define ADD( X, Y ) ((X) + (Y))
.
.
.
#undef WIDTH
#undef ADD
Específicos de Microsoft
Las macros pueden no definirse desde la línea de comandos mediante la opción /U seguida de los nombres de las macros que no se definen. El efecto de emitir este comando equivale a una secuencia de instrucciones #undef macro-name al principio del archivo.
FIN de Específicos de Microsoft