Condividi tramite


Direttiva #undef

Direttiva del preprocessore che rimuove la definizione corrente di una costante o di una macro definita in precedenza utilizzando la direttiva #define .

identificatore #undef

Parametri

Elemento Descrizione
Identificatore
Identificatore della costante o della macro di cui rimuovere la definizione. Se non si definisce una macro, specificare solo l'identificatore, non l'elenco di parametri.

Commenti

È possibile applicare la direttiva #undef a un identificatore che non ha una definizione precedente; in questo modo si garantisce che l'identificatore non sia definito. La sostituzione delle macro non viene eseguita all'interno di istruzioni #undef.

La direttiva #undef viene in genere associata a una direttiva #define per creare un'area in un programma di origine in cui un identificatore ha un significato speciale. Ad esempio, una funzione specifica del programma di origine può utilizzare le costanti manifesto per definire valori specifici dell'ambiente che non influiscono sul resto del programma. La direttiva #undef funziona anche con la direttiva [) per controllare la compilazione condizionale del programma di origine.

Le costanti e le macro possono essere non definite dalla riga di comando usando l'opzione /U, seguite dagli identificatori da non definire. Equivale all'aggiunta di una sequenza di direttive #undef all'inizio del file di origine.

Esempio

Nell'esempio seguente viene illustrato come utilizzare la direttiva #undef per rimuovere le definizioni di una costante simbolica e di una macro.

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

#undef WIDTH
#undef ADD

Vedi anche

Direttive del preprocessore (DirectX HLSL)

Direttiva #define (DirectX HLSL)

#if, )