Bagikan melalui


deprecated pragma

memungkinkan deprecatedpragma Anda menunjukkan bahwa fungsi, jenis, atau pengidentifikasi lain mungkin tidak lagi didukung dalam rilis mendatang atau tidak boleh lagi digunakan.

Catatan

Untuk informasi tentang atribut C++14 [[deprecated]] , dan panduan tentang kapan harus menggunakan atribut tersebut alih-alih pengubah Microsoft __declspec(deprecated) atau deprecatedpragma, lihat Atribut di C++.

Sintaks

#pragma deprecated(pengidentifikasi1 [ , pengidentifikasi2 ... ])

Keterangan

Ketika pengkompilasi menemukan pengidentifikasi yang ditentukan oleh deprecatedpragma, pengkompilasi mengeluarkan peringatan kompilator C4995.

Anda dapat menghentikan nama makro. Tempatkan nama makro dalam tanda kutip atau ekspansi makro lainnya akan terjadi.

deprecatedpragma Karena berfungsi pada semua pengidentifikasi yang cocok, dan tidak memperhitungkan tanda tangan, ini bukan opsi terbaik untuk menghentikan versi tertentu dari fungsi yang kelebihan beban. Setiap nama fungsi yang cocok yang dibawa ke dalam cakupan memicu peringatan.

Kami sarankan Anda menggunakan atribut C++14 [[deprecated]] , jika memungkinkan, alih-alih deprecatedpragma. Pengubah deklarasi khusus __declspec(deprecated) Microsoft juga merupakan pilihan yang lebih baik dalam banyak kasus daripada deprecatedpragma. Atribut [[deprecated]] dan __declspec(deprecated) pengubah memungkinkan Anda menentukan status yang tidak digunakan lagi untuk bentuk fungsi yang kelebihan beban tertentu. Peringatan diagnostik hanya muncul pada referensi ke fungsi kelebihan beban tertentu yang diterapkan atribut atau pengubah.

Contoh

// pragma_directive_deprecated.cpp
// compile with: /W3
#include <stdio.h>
void func1(void) {
}

void func2(void) {
}

int main() {
   func1();
   func2();
   #pragma deprecated(func1, func2)
   func1();   // C4995
   func2();   // C4995
}

Contoh berikut menunjukkan cara menghentikan kelas:

// pragma_directive_deprecated2.cpp
// compile with: /W3
#pragma deprecated(X)
class X {  // C4995
public:
   void f(){}
};

int main() {
   X x;   // C4995
}

Lihat juga

Pragmadirektif dan __pragma kata kunci dan _Pragma