Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Direktif #ifdef praproscesor dan #ifndef memiliki efek yang sama dengan #if direktif ketika digunakan dengan defined operator.
Sintaks
#ifdefidentifier
#ifndefidentifier
Arahan ini setara dengan:
#if definedidentifier
#if !definedidentifier
Keterangan
Anda dapat menggunakan arahan dan #ifndef di #ifdef mana saja #if dapat digunakan. Pernyataan #ifdef identifier ini setara dengan #if 1 kapan identifier telah ditentukan. Ini setara dengan #if 0 kapan identifier belum ditentukan, atau belum ditentukan oleh direktif #undef . Arahan ini hanya memeriksa keberadaan atau tidak adanya pengidentifikasi yang ditentukan dengan #define, bukan untuk pengidentifikasi yang dinyatakan dalam kode sumber C atau C++.
Arahan ini disediakan hanya untuk kompatibilitas dengan versi bahasa sebelumnya. Ekspresi defined( identifier ) konstanta yang digunakan dengan direktif #if lebih disukai.
Direktif #ifndef memeriksa kebalikan dari kondisi yang diperiksa oleh #ifdef. Jika pengidentifikasi belum ditentukan, atau jika definisinya telah dihapus dengan #undef, kondisinya benar (bukan nol). Jika tidak, kondisinya salah (0).
Khusus Microsoft
Pengidentifikasi dapat diteruskan dari baris perintah menggunakan /D opsi . Hingga 30 makro dapat ditentukan dengan /D.
Direktif #ifdef berguna untuk memeriksa apakah definisi ada, karena definisi dapat diteruskan dari baris perintah. Contohnya:
// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif
END Khusus Microsoft