Bagikan melalui


Peringatan kompilator C/C++ Microsoft C5000 hingga C5199

Artikel di bagian ini menjelaskan pesan peringatan pengkompilasi Microsoft C/C++ C5000 hingga C5199.

Penting

Alat kompilator dan build Visual Studio dapat melaporkan banyak jenis kesalahan dan peringatan. Setelah kesalahan atau peringatan ditemukan, alat build dapat membuat asumsi tentang niat kode dan mencoba melanjutkan, sehingga lebih banyak masalah dapat dilaporkan pada saat yang sama. Jika alat membuat asumsi yang salah, kesalahan atau peringatan yang lebih baru mungkin tidak berlaku untuk proyek Anda. Saat Anda memperbaiki masalah dalam proyek Anda, selalu mulai dengan kesalahan pertama atau peringatan yang dilaporkan, dan sering membangun kembali. Satu perbaikan dapat membuat banyak kesalahan berikutnya hilang.

Untuk mendapatkan bantuan pada pesan diagnostik tertentu di Visual Studio, pilih di jendela Output dan tekan tombol F1 . Visual Studio membuka halaman dokumentasi untuk kesalahan tersebut, jika ada. Anda juga dapat menggunakan alat pencarian di bagian atas halaman untuk menemukan artikel tentang kesalahan atau peringatan tertentu. Atau, telusuri daftar kesalahan dan peringatan berdasarkan alat dan ketik daftar isi di halaman ini.

Catatan

Tidak setiap kesalahan atau peringatan Visual Studio didokumenkan. Dalam banyak kasus, pesan diagnostik menyediakan semua informasi yang tersedia. Jika Anda masuk ke halaman ini ketika Anda menggunakan F1 dan Anda berpikir kesalahan atau pesan peringatan memerlukan penjelasan tambahan, beri tahu kami. Anda dapat menggunakan tombol umpan balik di halaman ini untuk memunculkan masalah dokumentasi di GitHub. Jika menurut Anda kesalahan atau peringatan salah, atau Anda menemukan masalah lain dengan set alat, laporkan masalah produk di situs Komunitas Pengembang. Anda juga dapat mengirim umpan balik dan memasukkan bug dalam IDE. Di Visual Studio, buka bilah menu dan pilih Bantuan > Kirim Umpan Balik > Laporkan Masalah, atau kirimkan saran dengan menggunakan Bantuan > Kirim Umpan Balik > Kirim Saran. Beberapa topik kesalahan kompilator dibuat yang tidak dipancarkan oleh pengkompilasi dan sekarang dialihkan ke halaman ini sebagai gantinya.

Anda mungkin menemukan bantuan tambahan untuk kesalahan dan peringatan di forum Tanya Jawab Microsoft Learn. Atau, cari kesalahan atau nomor peringatan di situs Komunitas Pengembang Visual Studio C++. Anda juga dapat mencari Stack Overflow untuk menemukan solusi.

Untuk tautan ke bantuan tambahan dan sumber daya komunitas, lihat Bantuan dan Komunitas Visual C++.

Pesan peringatan

Peringatan Pesan
Peringatan kompilator C5022 'type': multiple move constructors specified
Peringatan kompilator C5023 'type': beberapa operator penetapan pemindahan ditentukan
Peringatan kompilator (tingkat 4, nonaktif) C5024 'type': move constructor secara implisit didefinisikan sebagai dihapus
Peringatan kompilator (tingkat 4, nonaktif) C5025 'type': operator penetapan pemindahan secara implisit didefinisikan sebagai dihapus
Peringatan kompilator (tingkat 1 dan tingkat 4, nonaktif) C5026 'type': move constructor secara implisit didefinisikan sebagai dihapus
Peringatan kompilator (tingkat 1 dan tingkat 4, nonaktif) C5027 'type': operator penetapan pemindahan secara implisit didefinisikan sebagai dihapus
Peringatan kompilator (tingkat 1) C5028 'name': Perataan yang ditentukan dalam deklarasi sebelumnya (angka) tidak ditentukan dalam definisi
Peringatan kompilator (tingkat 4, nonaktif) C5029 ekstensi nonstandar yang digunakan: atribut perataan di C++ berlaku untuk variabel, anggota data, dan jenis tag saja
Peringatan kompilator (tingkat 3) C5030 atribut 'attribute-name' tidak dikenali
Peringatan kompilator (tingkat 4, nonaktif) C5031 #pragma warning(pop): kemungkinan tidak cocok, memunculkan status peringatan yang didorong dalam file yang berbeda
Peringatan kompilator (tingkat 4, nonaktif) C5032 terdeteksi #pragma warning(push) tanpa koresponden #pragma warning(pop)
Peringatan kompilator (tingkat 1) C5033 'storage-class' bukan lagi kelas penyimpanan yang didukung
Peringatan kompilator (tingkat 5, nonaktif) C5034 penggunaan 'intrinsik' intrinsik menyebabkan fungsi-nama dikompilasi sebagai kode tamu
Peringatan kompilator (tingkat 5, nonaktif) C5035 penggunaan fitur 'fitur' menyebabkan nama fungsi dikompilasi sebagai kode tamu
Peringatan kompilator (tingkat 1) C5036 konversi penunjuk fungsi varargs saat mengkompilasi dengan /hybrid:x86arm64 'type1' ke 'type2'
Peringatan kompilator (kesalahan) C5037 'member-function': definisi di luar baris dari anggota templat kelas tidak dapat memiliki argumen default
Peringatan kompilator (tingkat 4, nonaktif) C5038 anggota data 'member1' akan diinisialisasi setelah anggota data 'member2'
Peringatan kompilator (tingkat 4, nonaktif) C5039 'function': pointer atau referensi ke fungsi yang berpotensi melempar diteruskan ke extern C fungsi di bawah -EHc. Perilaku yang tidak terdefinisi dapat terjadi jika fungsi ini melemparkan pengecualian.
Peringatan kompilator (tingkat 3) C5040 spesifikasi pengecualian dinamis hanya berlaku di C++14 dan yang lebih lama; memperlakukan sebagai noexcept(false)
Peringatan pengkompilasi (tingkat 1, nonaktif) C5041 'definisi': definisi di luar baris untuk anggota data statis constexpr tidak diperlukan dan tidak digunakan lagi di C++17
Peringatan kompilator (tingkat 3, nonaktif) C5042 'deklarasi': deklarasi fungsi pada cakupan blok tidak dapat ditentukan 'sebaris' dalam C++standar; hapus penentu 'sebaris'
Peringatan kompilator (tingkat 2) C5043 'spesifikasi': spesifikasi pengecualian tidak cocok dengan deklarasi sebelumnya
Peringatan kompilator (tingkat 4) C5044 Argumen untuk opsi baris perintah opsi-nama menunjuk ke jalur 'path-name' yang tidak ada
Peringatan kompilator (tingkat 4) C5045 Compiler akan menyisipkan mitigasi Spectre untuk beban memori jika sakelar /Qspectre ditentukan
Peringatan kompilator (tingkat 2) C5046 'function': Simbol yang melibatkan jenis dengan linkage internal tidak ditentukan
Peringatan kompilator (tingkat 1) C5047 penggunaan nonstandard __if_exists dengan modul tidak didukung
Peringatan kompilator (tingkat 1) C5048 Penggunaan makro 'nama makro' dapat mengakibatkan output non-deterministik
Peringatan kompilator (tingkat 1) C5049 'string': Menyematkan jalur lengkap dapat mengakibatkan output yang bergantung pada komputer
Peringatan kompilator (tingkat 1) C5050 Kemungkinan lingkungan yang tidak kompatibel saat mengimpor modul 'module_name': masalah
Peringatan kompilator (tingkat 1) C5051 atribut 'attribute-name' memerlukan setidaknya 'tingkat standar'; Diabaikan
Peringatan kompilator (tingkat 3, nonaktif) C5052 Kata kunci 'kata kunci-nama' diperkenalkan dalam versi> C++<dan memerlukan penggunaan opsi baris perintah 'option-name'
Peringatan kompilator (tingkat 1) C5053 dukungan untuk 'explicit(<expr>)' di C++17 dan yang lebih lama adalah ekstensi vendor
Peringatan kompilator (tingkat 4) C5054 operator 'operator-name': tidak digunakan lagi di antara enumerasi dari berbagai jenis
Peringatan kompilator (tingkat 1) C5055 operator 'operator-name': tidak digunakan lagi antara enumerasi dan jenis floating-point
Peringatan kompilator (tingkat 1) C5056 operator 'operator-name': tidak digunakan lagi untuk jenis array
Peringatan kompilator (tingkat 1) C5057 referensi unit header ke 'nama' sudah ada. Mengabaikan unit header 'header-name'
Peringatan kompilator (tingkat 1) C5058 kesalahan sistem file: tidak dapat menemukan file header 'file-name' untuk unit header 'unit-name'
Peringatan kompilator C5059 Pemeriksaan runtime dan sanitizer alamat saat ini tidak didukung - menonaktifkan pemeriksaan runtime
Peringatan kompilator (tingkat 4) C5060 /Qpar dan pembersih alamat saat ini tidak didukung - menonaktifkan paralelisasi otomatis
Peringatan kompilator (tingkat 4) C5061 penggunaan operator koma sebagai ekspresi subskrip tidak digunakan lagi
Peringatan kompilator (tingkat 4) C5062 inisialisasi daftar langsung enum antara 'type-1' dan 'type-2' tidak lagi didukung
Peringatan kompilator (tingkat 1) C5063 'std::is_constant_evaluated' selalu mengevaluasi ke true dalam ekspresi yang dievaluasi secara manifes
Peringatan kompilator (tingkat 1) C5072 ASAN diaktifkan tanpa emisi informasi debug. Mengaktifkan info debug untuk pelaporan kesalahan ASAN yang lebih baik
Peringatan kompilator (tingkat 1) C5081 Hotpatch aman tidak didukung dengan /GENPROFILE, /FASTGENPROFILE atau /LTCG:PGI, menonaktifkan hotpatch aman.
Peringatan kompilator (tingkat 1) C5100 __VA_ARGS__ dicadangkan untuk digunakan dalam makro variadik
Peringatan kompilator (tingkat 1) C5101 penggunaan direktif praprosesor dalam daftar argumen makro seperti fungsi adalah perilaku yang tidak ditentukan
Peringatan kompilator (tingkat 1) C5102 mengabaikan definisi makro baris perintah 'nilai' tidak valid
Peringatan kompilator (tingkat 1) C5103 menempelkan 'token1' dan 'token2' tidak menghasilkan token pra-pemrosesan yang valid
Peringatan kompilator (tingkat 1) C5104 ditemukan 'string1#string2' dalam daftar penggantian makro, apakah Anda berarti 'string1""#string2'?
Peringatan kompilator (tingkat 1) C5105 ekspansi makro yang menghasilkan 'didefinisikan' memiliki perilaku yang tidak ditentukan
Peringatan kompilator (tingkat 1) C5106 makro didefinisikan ulang dengan nama parameter yang berbeda
Peringatan kompilator (tingkat 1) C5107 karakter 'karakter' penghentian hilang
Peringatan kompilator (tingkat 1) C5108 __VA_OPT__ dicadangkan untuk digunakan dalam makro variadik
Peringatan kompilator (tingkat 1) C5109 __VA_OPT__ penggunaan dalam makro memerlukan '/Zc:preprocessor'
Peringatan kompilator (tingkat 4, nonaktif) C5110 __VA_OPT__ adalah ekstensi sebelum C++20 atau C23

Lihat juga

Kesalahan dan peringatan C/C++ Compiler dan build tools
Peringatan kompilator C4000 - C5999