Bagikan melalui


Arahan #undef (C/C++)

Menghapus (tidak terdefinisi) nama yang sebelumnya dibuat dengan #define.

Sintaks

pengidentifikasi #undef

Keterangan

Direktif #undef menghapus definisi pengidentifikasi saat ini. Akibatnya, kemunculan pengidentifikasi berikutnya diabaikan oleh prapemrosisi. Untuk menghapus definisi makro menggunakan #undef, berikan hanya pengidentifikasi makro, bukan daftar parameter.

Anda juga dapat menerapkan arahan #undef ke pengidentifikasi yang tidak memiliki definisi sebelumnya. Ini memastikan bahwa pengidentifikasi tidak terdefinisi. Penggantian makro tidak dilakukan dalam pernyataan #undef .

Arahan #undef biasanya dipasangkan dengan #define arahan untuk membuat wilayah dalam program sumber di mana pengidentifikasi memiliki arti khusus. Misalnya, fungsi tertentu dari program sumber dapat menggunakan konstanta manifes untuk menentukan nilai khusus lingkungan yang tidak memengaruhi sisa program. Arahan #undef juga bekerja dengan direktif #if untuk mengontrol kompilasi kondisional program sumber. Untuk informasi selengkapnya, lihat Arahan #if, #elif, #else, dan #endif.

Dalam contoh berikut, direktif #undef menghapus definisi konstanta simbolis dan makro. Perhatikan bahwa hanya pengidentifikasi makro yang diberikan.

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

Khusus Microsoft

Makro dapat tidak terdefinisi dari baris perintah menggunakan /U opsi , diikuti dengan nama makro yang tidak ditentukan. Efek penerbitan perintah ini setara dengan urutan #undef pernyataan nama makro di awal file.

END Khusus Microsoft

Lihat juga

Arahan pra-prosesor