Peringatan kompilator C/C++ Microsoft C4800 hingga C4999
Artikel di bagian ini menjelaskan pesan peringatan pengkompilasi Microsoft C/C++ C4800-C4999.
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 (tingkat 4, nonaktif) C4800 | Konversi implisit dari 'type' ke bool . Kemungkinan kehilangan informasi |
Peringatan kompilator C4801 | Pengembalian menurut referensi tidak dapat diverifikasi: pesan |
Peringatan kompilator (tingkat 1) C4803 | 'method': metode raise memiliki kelas penyimpanan yang berbeda dari peristiwa, 'event' |
Peringatan kompilator (tingkat 1) C4804 | 'operation': penggunaan tipe 'bool ' tidak aman dalam operasi |
Peringatan kompilator (tingkat 1) C4805 | 'operation': unsafe mix of type 'type1' and type 'type2' in operation |
Peringatan kompilator (tingkat 1) C4806 | 'operation': unsafe operation: no value of type 'type1' promoted to type 'type2' can equal the given constant |
Peringatan kompilator (tingkat 1) C4807 | 'operation': campuran tidak aman dari tipe 'type1' dan bidang bit bertanda tangan tipe 'type2' |
Peringatan kompilator (tingkat 1) C4808 | case 'value' bukan nilai yang valid untuk switch kondisi tipe 'bool ' |
Peringatan kompilator (tingkat 1) C4809 | switch pernyataan memiliki label 'default ' redundan; semua label 'case ' yang mungkin diberikan |
Peringatan kompilator (tingkat 1) C4810 | nilai = pragma pack(show) = n |
Peringatan kompilator (tingkat 1) C4811 | pragma conform(forScope, show) == nilai nilai |
Peringatan kompilator (tingkat 1) C4812 | Gaya deklarasi usang: silakan gunakan 'new_syntax' sebagai gantinya |
Peringatan kompilator (tingkat 1) C4813 | 'function': fungsi teman dari kelas lokal harus telah dideklarasikan sebelumnya |
Peringatan kompilator (tingkat 4) C4815 | 'nama objek': array berukuran nol dalam objek tumpukan tidak akan memiliki elemen (kecuali objek adalah agregat yang telah diinisialisasi agregat) |
Peringatan kompilator (tingkat 4) C4816 | 'param': parameter memiliki array berukuran nol yang akan dipotong (kecuali objek diteruskan oleh referensi) |
Peringatan kompilator (tingkat 1) C4817 | 'member': penggunaan ilegal '.' untuk mengakses anggota ini; compiler diganti dengan '->' |
Peringatan kompilator (tingkat 1) C4819 | File berisi karakter yang tidak dapat diwakili di halaman kode saat ini (angka). Simpan file dalam format Unicode untuk mencegah kehilangan data |
Peringatan kompilator (tingkat 4, nonaktif) C4820 | Padding byte 'byte' ditambahkan setelah membangun 'member_name' |
Peringatan kompilator (tingkat 1) C4821 | Tidak dapat menentukan jenis pengodean Unicode, simpan file dengan tanda tangan (BOM) |
Peringatan kompilator (tingkat 1, nonaktif) C4822 | 'fungsi anggota': fungsi anggota kelas lokal tidak memiliki isi |
Peringatan kompilator (tingkat 3) C4823 | 'function': menggunakan penyematan pointer tetapi semantik unwind tidak diaktifkan. Pertimbangkan untuk menggunakan /EHa |
Peringatan kompilator (tingkat 2, nonaktif) C4826 | Konversi dari 'type1' ke 'type2' diperpanjang. Ini dapat menyebabkan perilaku runtime tak terduga. |
Peringatan kompilator (tingkat 3) C4827 | Metode 'ToString ' publik dengan 0 parameter harus ditandai sebagai virtual dan override |
Peringatan kompilator (tingkat 1) C4828 | File berisi karakter yang dimulai dari offset 0xHexOffset yang ilegal dalam kumpulan karakter sumber saat ini (codepage codepage). |
Peringatan kompilator (tingkat 1) C4829 | Mungkin parameter yang salah untuk berfungsi main . Pertimbangkan 'int main(Platform::Array<Platform::String^>^ argv) ' |
Peringatan Pengompilasi (level 1) C4834 | membuang nilai pengembalian fungsi dengan atribut 'nodiscard' |
Peringatan kompilator (tingkat 1) C4835 | 'variabel': inisialisasi untuk data yang diekspor tidak akan dijalankan sampai kode terkelola pertama kali dijalankan di rakitan host |
Peringatan kompilator (tingkat 4, nonaktif) C4837 | trigraf terdeteksi: '?? karakter' digantikan oleh 'karakter' |
Peringatan kompilator (tingkat 1) C4838 | konversi dari 'type_1' ke 'type_2' memerlukan konversi yang mempersempit |
Peringatan kompilator (tingkat 3) C4839 | penggunaan non-standar kelas 'type' sebagai argumen ke fungsi variadik |
Peringatan kompilator (tingkat 4) C4840 | penggunaan non-portabel dari kelas 'type' sebagai argumen ke fungsi variadik |
Peringatan kompilator (tingkat 4, nonaktif) C4841 | ekstensi non-standar yang digunakan: pendesain anggota gabungan yang digunakan dalam offsetof |
Peringatan pengkompilasi (tingkat 4, nonaktif) C4842 | hasil 'offsetof ' yang diterapkan pada jenis menggunakan beberapa warisan tidak dijamin konsisten antara rilis kompilator |
Peringatan kompilator (tingkat 4) C4843 | 'type1': Penanganan pengecualian referensi ke array atau jenis fungsi tidak dapat dijangkau, gunakan 'type2' sebagai gantinya |
Peringatan kompilator (tingkat 1) C4844 | ' 'export module module_name ; sekarang adalah sintaks yang disukai untuk mendeklarasikan antarmuka modul |
Peringatan kompilator (tingkat 4) C4845 | '__declspec(no_init_all) ' diabaikan jika '/d1initall[0|1|2|3] ' tidak ditentukan pada baris perintah |
Peringatan kompilator (tingkat 4) C4846 | 'value' bukan argumen yang valid untuk '/d1initall ': bendera baris perintah diabaikan |
Peringatan kompilator (tingkat 4) C4847 | '__declspec(no_init_all) ' hanya dapat diterapkan ke fungsi, jenis kelas, atau variabel lokal: diabaikan |
Peringatan kompilator (tingkat 1) C4848 | dukungan untuk atribut standar 'no_unique_address ' di C++17 dan yang lebih lama adalah ekstensi vendor |
Peringatan kompilator (tingkat 1) C4849 | Klausul 'klausa' OpenMP diabaikan dalam direktif 'direktif' |
Peringatan kompilator (Tingkat 1, kesalahan) C4854 | mengikat penunjuk null dereferensi ke referensi memiliki perilaku yang tidak ditentukan |
Peringatan pengkompilasi (tingkat 1, nonaktif) C4855 | pengambilan implisit 'this ' melalui '[=] ' tidak digunakan lagi dalam 'versi' |
Peringatan kompilator (tingkat 4) C4856 | 'value' bukan argumen yang valid untuk '/d1initAll:FillPattern ' (nilai harus antara 0 dan 255). Bendera baris perintah diabaikan |
Peringatan kompilator (tingkat 1) C4857 | Mode C++/CLI tidak mendukung versi C++ yang lebih baru dari C++17; mengatur bahasa ke /std:c++17 |
Peringatan kompilator (tingkat 1) C4858 | membuang nilai pengembalian: nama fungsi |
Peringatan kompilator (tingkat 4) C4859 | 'value' bukan argumen yang valid untuk '/presetWarn ': harus berupa nilai > desimal 0. Bendera baris perintah diabaikan |
Peringatan kompilator (tingkat 4) C4860 | 'nama objek': compiler nol inisialisasi 'angka' byte penyimpanan |
Peringatan kompilator (tingkat 4) C4861 | compiler nol inisialisasi 'angka' byte penyimpanan |
Peringatan kompilator (tingkat 4) C4866 | compiler mungkin tidak memberlakukan urutan evaluasi kiri-ke-kanan untuk panggilan ke operator_name |
Peringatan kompilator (tingkat 1, kesalahan) C4867 | 'function': function call missing argument list; use 'call' to create a pointer to member |
Peringatan kompilator (tingkat 4) C4868 | Pengompilasi 'file(line_number)' mungkin tidak memberlakukan urutan evaluasi kiri-ke-kanan dalam daftar inisialisasi braced |
Peringatan kompilator (tingkat 3) C4869 | 'nodiscard ' hanya dapat diterapkan ke kelas, enumerasi, dan fungsi |
Peringatan kompilator (tingkat 2) C4872 | pembagian titik mengambang dengan nol terdeteksi saat mengkompilasi grafik panggilan untuk concurrency::parallel_for_each di: 'lokasi' |
Peringatan kompilator (tingkat 1) C4880 | casting dari 'const type_1' ke 'type_2': membuang kesadaran dari pointer atau referensi dapat mengakibatkan perilaku yang tidak ditentukan dalam fungsi yang dibatasi amp |
Peringatan kompilator (tingkat 4) C4881 | konstruktor dan/atau destruktor tidak akan dipanggil untuk tile_static variabel 'variable-name' |
Peringatan kompilator (tingkat 1) C4882 | meneruskan funktor dengan operator panggilan non-const ke concurrency::parallel_for_each tidak digunakan lagi |
Peringatan kompilator C4883 | 'nama fungsi': ukuran fungsi menekan pengoptimalan |
Peringatan kompilator C4900 | Akan tidak cocok antara versi 'tool1' 'version1' dan 'tool2' versi 'version2' |
Peringatan kompilator (tingkat 1, nonaktif) C4905 | string lebar literal cast ke 'LPSTR ' |
Peringatan kompilator (tingkat 1, nonaktif) C4906 | string literal cast ke 'LPWSTR ' |
Peringatan kompilator (Kesalahan) C4907 | beberapa konvensi panggilan tidak dapat ditentukan; terakhir diberikan akan digunakan |
Peringatan kompilator (tingkat 1) C4910 | '<pengidentifikasi>: '__declspec(dllexport)' dan 'extern' tidak kompatibel pada instansiasi eksplisit |
Peringatan kompilator (tingkat 1) C4912 | 'attribute': atribut memiliki perilaku yang tidak ditentukan pada UDT berlapis |
Peringatan kompilator (tingkat 4) C4913 | operator biner ', ' yang ditentukan pengguna ada tetapi tidak ada kelebihan beban yang dapat mengonversi semua operand, operator biner bawaan default ', ' yang digunakan |
Peringatan kompilator (tingkat 1) C4916 | untuk memiliki dispid , 'deskripsi': harus diperkenalkan oleh antarmuka |
Peringatan kompilator (tingkat 1, nonaktif) C4917 | 'deklarator': GUID hanya dapat dikaitkan dengan kelas, antarmuka, atau namespace |
Peringatan kompilator (tingkat 4) C4918 | 'character': karakter tidak valid dalam daftar pengoptimalan pragma |
Peringatan kompilator (tingkat 1) C4920 | anggota enum-name member_1=value_1 sudah terlihat dalam enum-name sebagai member_2 value_2= |
Peringatan kompilator (tingkat 3) C4921 | 'description': nilai atribut 'atribut' tidak boleh dikalikan ditentukan |
Peringatan kompilator (tingkat 1) C4925 | 'method': metode dispinterface tidak dapat dipanggil dari skrip |
Peringatan kompilator (tingkat 1) C4926 | 'pengidentifikasi': simbol sudah ditentukan: atribut diabaikan |
Peringatan kompilator (tingkat 1) C4927 | konversi ilegal; lebih dari satu konversi yang ditentukan pengguna telah diterapkan secara implisit |
Peringatan kompilator (tingkat 1, nonaktif) C4928 | inisialisasi salinan ilegal; lebih dari satu konversi yang ditentukan pengguna telah diterapkan secara implisit |
Peringatan kompilator (tingkat 1) C4929 | 'file': typelibrary berisi penyatuan; mengabaikan kualifikasi 'embedded_idl' |
Peringatan kompilator (tingkat 1) C4930 | 'prototipe': fungsi yang diprototi tidak disebut (apakah definisi variabel dimaksudkan?) |
Peringatan kompilator (tingkat 4, nonaktif) C4931 | kami berasumsi pustaka jenis dibangun untuk pointer number-bit |
Peringatan kompilator (tingkat 4) C4932 | __identifier( pengidentifikasi) dan __identifier( pengidentifikasi) tidak dapat dibedakan |
Peringatan kompilator (tingkat 1) C4934 | '__delegate(multicast) ' tidak digunakan lagi, gunakan '__delegate ' sebagai gantinya |
Peringatan kompilator (tingkat 1) C4935 | penentu akses perakitan dimodifikasi dari 'akses' |
Peringatan pengkompilasi (tingkat 1, Kesalahan) C4936 | __declspec ini hanya didukung saat dikompilasi dengan /clr atau /clr:pure |
Peringatan kompilator (tingkat 4) C4937 | 'text1' dan 'text2' tidak dapat dibedakan sebagai argumen untuk 'direktif' |
Peringatan kompilator (tingkat 4) C4938 | 'var': Variabel pengurangan titik mengambang dapat menyebabkan hasil yang tidak konsisten di bawah /fp:strict atau #pragma fenv_access |
Peringatan kompilator C4939 | #pragma vtordisp tidak digunakan lagi dan akan dihapus dalam rilis Visual C++ di masa mendatang |
Peringatan kompilator (tingkat 1) C4944 | 'simbol': tidak dapat mengimpor simbol dari 'assembly1': karena 'simbol' sudah ada dalam cakupan saat ini |
Peringatan kompilator (tingkat 1) C4945 | 'simbol': tidak dapat mengimpor simbol dari 'assembly1': karena 'simbol' telah diimpor dari rakitan lain 'assembly2' |
Peringatan kompilator (tingkat 1, nonaktif) C4946 | reinterpret_cast digunakan antara kelas terkait: 'class1' dan 'class2' |
Peringatan kompilator (tingkat 1) C4947 | 'type_or_member': ditandai sebagai usang |
Peringatan kompilator (tingkat 2) C4948 | jenis pengembalian 'aksesor' tidak cocok dengan jenis parameter terakhir dari setter yang sesuai |
Peringatan kompilator (tingkat 1 dan tingkat 4) C4949 | pragmas 'managed ' dan 'unmanaged ' hanya bermakna ketika dikompilasi dengan '/clr[:option] ' |
Peringatan kompilator (tingkat 1, Kesalahan) C4950 | 'type_or_member': ditandai sebagai usang |
Peringatan kompilator (tingkat 1) C4951 | 'fungsi' telah diedit sejak data profil dikumpulkan, data profil fungsi tidak digunakan |
Peringatan kompilator (tingkat 1) C4952 | 'function': tidak ada data profil yang ditemukan dalam database program 'pgd-file' |
Peringatan kompilator (tingkat 1) C4953 | Sebaris 'fungsi' telah diedit sejak data profil dikumpulkan, data profil tidak digunakan |
Peringatan kompilator C4954 | 'function': not profiled (berisi __int64 ekspresi pengalihan) |
Peringatan kompilator C4955 | 'import2': impor diabaikan; sudah diimpor dari 'import1' |
Peringatan kompilator (tingkat 1, Kesalahan) C4956 | 'type': tipe ini tidak dapat diverifikasi |
Peringatan kompilator (tingkat 1, Kesalahan) C4957 | 'cast': cast eksplisit dari 'cast_from' ke 'cast_to' tidak dapat diverifikasi |
Peringatan kompilator (tingkat 1, Kesalahan) C4958 | 'operation': pointer aritmetic tidak dapat diverifikasi |
Peringatan kompilator (tingkat 1, Kesalahan) C4959 | tidak dapat menentukan jenis 'type' yang tidak dikelola karena mengakses anggotanya menghasilkan kode yang tidak dapat diverifikasi /clr:safe |
Peringatan kompilator (tingkat 4) C4960 | 'function' terlalu besar untuk dibuat profilnya |
Peringatan kompilator (tingkat 1) C4961 | Tidak ada data profil yang digabungkan ke dalam 'pgd-file', pengoptimalan yang dipandu profil dinonaktifkan |
Peringatan kompilator (tingkat 4, nonaktif) C4962 | 'function': Pengoptimalan yang dipandu profil dinonaktifkan karena pengoptimalan menyebabkan data profil menjadi tidak konsisten |
Peringatan kompilator (tingkat 1) C4963 | 'description': tidak ada data profil yang ditemukan; opsi pengkompilasi yang berbeda digunakan dalam build berinstrumen |
Peringatan kompilator (tingkat 1) C4964 | Tidak ada opsi pengoptimalan yang ditentukan; info profil tidak akan dikumpulkan |
Peringatan kompilator (tingkat 1) C4965 | kotak implisit bilangan bulat 0; gunakan nullptr atau cast eksplisit |
Peringatan kompilator (tingkat 1) C4966 | 'function' memiliki __code_seg anotasi dengan nama segmen yang tidak didukung, anotasi diabaikan |
Peringatan kompilator C4970 | mendelegasikan konstruktor: objek target diabaikan karena 'jenis' statis |
Peringatan kompilator (tingkat 1) C4971 | Urutan argumen: <objek> target, <fungsi> target untuk konstruktor delegasi tidak digunakan lagi, gunakan <fungsi> target, <objek target=""> |
Peringatan kompilator (tingkat 1, Kesalahan) C4972 | Memodifikasi atau memperlakukan hasil operasi unbox secara langsung karena lvalue tidak dapat diverifikasi |
Peringatan kompilator (tingkat 1) C4973 | 'simbol': ditandai sebagai tidak digunakan lagi |
Peringatan kompilator (tingkat 1) C4974 | 'simbol': ditandai sebagai tidak digunakan lagi |
Peringatan kompilator (tingkat 1) C4975 | modopt '[modifier]' diabaikan untuk parameter formal 'parameter' |
Peringatan kompilator (tingkat 1) C4976 | nilai 'nilai' tidak valid untuk '/W '; dengan asumsi '1' |
Peringatan kompilator (tingkat 3) C4981 | Warbird: fungsi 'fungsi' ditandai sebagai __forceinline tidak sebaris karena berisi semantik pengecualian |
Peringatan kompilator (tingkat 3) C4983 | '/analyze:sarif:hashname' diabaikan karena argumen ke '/analyze:log' adalah satu file daripada direktori |
Peringatan kompilator C4984 | 'if constexpr ' adalah ekstensi bahasa C++17 |
Peringatan kompilator (tingkat 4) C4985 | 'symbol_name': atribut tidak ada pada deklarasi sebelumnya. |
Peringatan kompilator (tingkat 4, nonaktif) C4986 | 'deklarasi': spesifikasi pengecualian tidak cocok dengan deklarasi sebelumnya |
Peringatan kompilator (tingkat 4, nonaktif) C4987 | ekstensi nonstandar yang digunakan: 'throw (...) ' |
Peringatan kompilator (tingkat 4, nonaktif) C4988 | 'variabel': variabel dideklarasikan di luar lingkup kelas/fungsi |
Peringatan kompilator (tingkat 4) C4989 | 'type': type memiliki definisi yang bertentangan. |
Peringatan kompilator (tingkat 3) C4990 | Warbird: pesan |
Peringatan kompilator (tingkat 3) C4991 | Warbird: fungsi 'fungsi' ditandai sebagai __forceinline tidak sebaris karena tingkat perlindungan sebaris lebih besar dari induk |
Peringatan kompilator (tingkat 3) C4992 | Warbird: fungsi 'function-name' ditandai sebagai __forceinline tidak inlined karena berisi rakitan sebaris yang tidak dapat dilindungi |
Peringatan kompilator (tingkat 3) C4995 | 'function': nama ditandai sebagai #pragma tidak digunakan lagi |
Peringatan kompilator (tingkat 3) C4996 | 'deprecated-declaration': deprecation-message (atau "dinyatakan tidak digunakan lagi") |
Peringatan kompilator (tingkat 1) C4997 | 'class': coclass tidak mengimplementasikan antarmuka COM atau antarmuka pseudo |
Peringatan kompilator (tingkat 1) C4998 | EKSPEKTASI GAGAL: ekspektasi(nilai) |
Lihat juga
Kesalahan dan peringatan C/C++ Compiler dan build tools
Peringatan kompilator C4000 - C5999
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk