Peringatan kompilator C/C++ Microsoft C4000 hingga C4199
Artikel di bagian ini menjelaskan pesan peringatan pengkompilasi Microsoft C/C++ C4000 hingga C4199.
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, tidak lagi dipancarkan) C4001 | ekstensi nonstandard 'komentar baris tunggal' digunakan |
Peringatan kompilator (tingkat 1, Kesalahan) C4002 | terlalu banyak argumen untuk 'pengidentifikasi' pemanggilan makro seperti fungsi |
Peringatan kompilator (tingkat 1, Kesalahan) C4003 | tidak cukup argumen untuk pemanggilan makro seperti fungsi 'pengidentifikasi' |
Peringatan kompilator (tingkat 1) C4005 | 'pengidentifikasi': pendefinisian ulang makro |
Peringatan kompilator (tingkat 1) C4006 | #undef pengidentifikasi yang diharapkan |
Peringatan kompilator (tingkat 3) C4007 | 'function': harus 'attribute' |
Peringatan kompilator (tingkat 3) C4008 | 'function': atribut 'attribute' diabaikan |
Peringatan kompilator (tingkat 1) C4010 | komentar baris tunggal berisi karakter kelanjutan baris |
Peringatan kompilator (tingkat 3) C4013 | 'function' undefined; dengan asumsi extern mengembalikan int |
Peringatan kompilator (tingkat 1) C4015 | 'pengidentifikasi': jenis bidang bit harus integral |
Peringatan kompilator (tingkat 3) C4018 | 'expression': ketidakcocokan yang ditandatangani/tidak ditandatangani |
Peringatan kompilator (tingkat 4) C4019 | pernyataan kosong pada cakupan global |
Peringatan kompilator (tingkat 1) C4020 | 'function': terlalu banyak parameter aktual |
Peringatan kompilator (tingkat 1) C4022 | 'function': ketidakcocokan pointer untuk parameter aktual 'parameter_number' |
Peringatan kompilator (tingkat 1) C4023 | 'function': penunjuk berbasis diteruskan ke fungsi yang tidak diprototi: parameter 'parameter_number' |
Peringatan kompilator (tingkat 1) C4024 | 'function': berbagai jenis untuk parameter formal dan aktual 'parameter_number' |
Peringatan kompilator (tingkat 1) C4025 | 'function': penunjuk berbasis diteruskan ke fungsi dengan argumen variabel: parameter 'parameter_number' |
Peringatan kompilator (tingkat 1) C4026 | fungsi dideklarasikan dengan daftar parameter formal |
Peringatan kompilator (tingkat 1) C4027 | fungsi dideklarasikan tanpa daftar parameter formal |
Peringatan kompilator (tingkat 1) C4028 | parameter formal parameter_number berbeda dari deklarasi |
Peringatan kompilator (tingkat 1) C4029 | daftar parameter formal yang dinyatakan berbeda dari definisi |
Peringatan kompilator (tingkat 1) C4030 | daftar parameter formal pertama lebih panjang dari daftar kedua |
Peringatan kompilator (tingkat 1) C4031 | daftar parameter formal kedua lebih panjang dari daftar pertama |
Peringatan kompilator (tingkat 4) C4032 | parameter formal parameter_number memiliki jenis yang berbeda saat dipromosikan |
Peringatan kompilator (tingkat 1) C4033 | 'function' harus mengembalikan nilai |
Peringatan kompilator (tingkat 1) C4034 | sizeof mengembalikan 0 |
Peringatan kompilator (tingkat 3) C4035 | 'function': no return value |
Peringatan kompilator (tingkat 1) C4036 | 'jenis' yang tidak disebutkan namanya sebagai parameter aktual |
Peringatan kompilator (tingkat 1) C4038 | 'pengubah': pengubah kelas ilegal |
Peringatan kompilator (tingkat 1) C4041 | batas kompilator: mengakhiri output browser |
Peringatan kompilator (tingkat 1) C4042 | 'pengidentifikasi': memiliki kelas penyimpanan yang buruk |
Peringatan kompilator (tingkat 1) C4045 | 'array': luapan batas array |
Peringatan kompilator (tingkat 1) C4047 | 'operator': 'identifier1' berbeda dalam tingkat tidak langsung dari 'identifier2' |
Peringatan kompilator (tingkat 1) C4048 | subskrip array yang berbeda: 'pengidentifikasi1' dan 'pengidentifikasi2' |
Peringatan kompilator (tingkat 1) C4049 | batas kompilator: mengakhiri emisi nomor baris |
Peringatan kompilator (tingkat 1) C4051 | konversi jenis; kemungkinan hilangnya data |
Peringatan kompilator (tingkat 1 dan tingkat 4) C4052 | deklarasi fungsi berbeda; satu berisi argumen variabel |
Peringatan kompilator (tingkat 4) C4053 | satu operand batal untuk '?: ' |
Peringatan kompilator (tingkat 1) C4055 | 'konversi' : dari penunjuk data 'type1' ke penunjuk fungsi 'type2' |
Peringatan kompilator (tingkat 2) C4056 | luapan dalam aritmatika konstanta floating-point |
Peringatan kompilator (tingkat 4) C4057 | 'operator': 'identifier1' berbeda secara tidak langsung dengan jenis dasar yang sedikit berbeda dari 'pengidentifikasi2' |
Peringatan kompilator (tingkat 3, nonaktif) C4060 | pernyataan switch tidak berisi label 'case' atau 'default' |
Peringatan kompilator (tingkat 4, nonaktif) C4061 | enumerator 'pengidentifikasi' dalam pengalihan enum 'enumerasi' tidak ditangani secara eksplisit oleh case label |
Peringatan kompilator (tingkat 4, nonaktif) C4062 | enumerator 'pengidentifikasi' dalam pengalihan enum 'enumerasi' tidak ditangani |
Peringatan kompilator (tingkat 4) C4063 | kasus 'pengidentifikasi' bukan nilai yang valid untuk peralihan enum 'enumerasi' |
Peringatan kompilator (tingkat 4) C4064 | sakelar 'enumerasi' yang tidak lengkap enum |
Peringatan kompilator (tingkat 3, nonaktif) C4065 | pernyataan switch berisi 'default ' tetapi tidak ada label 'case ' |
Peringatan kompilator (tingkat 3) C4066 | karakter di luar terlebih dahulu dalam konstanta karakter lebar diabaikan |
Peringatan kompilator (tingkat 1) C4067 | token tak terduga setelah direktif praprosesor - mengharapkan baris baru |
Peringatan kompilator (tingkat 1) C4068 | pragma tidak diketahui 'pengidentifikasi' |
Peringatan kompilator C4069 | ganda panjang adalah presisi yang sama dengan ganda |
Peringatan kompilator (tingkat 3) C4073 | penginisialisasi dimasukkan ke dalam area inisialisasi pustaka |
Peringatan kompilator (tingkat 1) C4074 | penginisialisasi dimasukkan ke dalam area inisialisasi yang dipesan kompilator |
Peringatan kompilator (tingkat 1) C4075 | inisialisasi dimasukkan ke dalam area inisialisasi yang tidak dikenal |
Peringatan kompilator (tingkat 1) C4076 | 'type_modifier': tidak dapat digunakan dengan jenis 'typename' |
Peringatan kompilator (tingkat 1) C4077 | opsi check_stack tidak diketahui |
Peringatan kompilator (tingkat 1) C4079 | token tak terduga 'token' |
Peringatan kompilator (tingkat 1) C4080 | pengidentifikasi yang diharapkan untuk nama segmen; ditemukan 'simbol' |
Peringatan kompilator (tingkat 1) C4081 | diharapkan 'token1'; ditemukan 'token2' |
Peringatan kompilator (tingkat 1) C4083 | diharapkan 'token'; ditemukan pengidentifikasi 'pengidentifikasi' |
Peringatan kompilator (tingkat 1) C4085 | parameter pragma yang diharapkan menjadi 'on ' atau 'off ' |
Peringatan kompilator (tingkat 1) C4086 | diharapkan parameter pragma menjadi '1', '2', '4', '8', atau '16' |
Peringatan kompilator (tingkat 1) C4087 | 'function': dideklarasikan dengan daftar parameter 'void ' |
Peringatan kompilator (tingkat 1) C4088 | 'function': ketidakcocokan pointer dalam parameter aktual 'parameter_number', parameter formal 'parameter_number' |
Peringatan kompilator (tingkat 1) C4089 | 'function': berbagai jenis dalam parameter aktual 'parameter_number', parameter formal 'parameter_number' |
Peringatan kompilator (tingkat 1) C4090 | 'operation': kualifikasi 'pengubah' yang berbeda |
Peringatan kompilator (tingkat 1 dan tingkat 2) C4091 | 'kata kunci': diabaikan di sebelah kiri 'type' ketika tidak ada variabel yang dideklarasikan |
Peringatan kompilator (tingkat 4) C4092 | sizeof mengembalikan 'unsigned long' |
Peringatan kompilator (tingkat 2) C4094 | 'token' yang tidak diberi tag dinyatakan tidak ada simbol |
Peringatan kompilator (tingkat 1) C4096 | 'pengidentifikasi': antarmuka bukan antarmuka COM; tidak akan dipancarkan ke IDL |
Peringatan kompilator (tingkat 1) C4097 | parameter pragma yang diharapkan menjadi 'restore ' atau 'off ' |
Peringatan kompilator (tingkat 1) C4098 | 'function': 'void ' function menampilkan nilai |
Peringatan kompilator (tingkat 2) C4099 | 'pengidentifikasi': ketik nama pertama yang terlihat menggunakan 'object_type1' sekarang terlihat menggunakan 'object_type2' |
Peringatan kompilator (tingkat 4) C4100 | 'pengidentifikasi': parameter formal yang tidak direferensikan |
Peringatan kompilator (tingkat 3 dan tingkat 4) C4101 | 'pengidentifikasi': variabel lokal yang tidak direferensikan |
Peringatan kompilator (tingkat 3) C4102 | 'label': label tidak direferensikan |
Peringatan kompilator (tingkat 1) C4103 | perataan diubah setelah menyertakan header, mungkin karena hilang #pragma pack(pop) |
Peringatan kompilator (tingkat 1) C4109 | pengidentifikasi 'pengidentifikasi' tak terduga |
Peringatan kompilator (tingkat 1 dan tingkat 4) C4112 | #line membutuhkan bilangan bulat antara 1 dan 'line_count' |
Peringatan kompilator (tingkat 1) C4113 | 'pengidentifikasi1' berbeda dalam daftar parameter dari 'pengidentifikasi2' |
Peringatan kompilator (tingkat 1) C4114 | kualifikasi jenis yang sama digunakan lebih dari sekali |
Peringatan kompilator (tingkat 1 dan tingkat 4) C4115 | 'type': definisi jenis bernama dalam tanda kurung |
Peringatan kompilator (tingkat 1) C4116 | definisi jenis yang tidak disebutkan namanya dalam tanda kurung |
Peringatan kompilator (tingkat 1) C4117 | nama makro 'nama' dicadangkan, 'perintah' diabaikan |
Peringatan kompilator (tingkat 1) C4119 | basis yang berbeda 'base1' dan 'base2' ditentukan |
Peringatan kompilator (tingkat 1) C4120 | ketidakcocokan berbasis/tidak berbasing |
Peringatan kompilator (tingkat 4) C4121 | 'simbol': perataan anggota sensitif terhadap pengemasan |
Peringatan kompilator (tingkat 1) C4122 | 'function': alloc_text hanya berlaku untuk fungsi dengan linkage C |
Peringatan kompilator (tingkat 1) C4123 | ekspresi dasar berbeda yang ditentukan |
Peringatan kompilator (tingkat 1) C4124 | __fastcall dengan pemeriksaan tumpukan tidak efisien |
Peringatan kompilator (tingkat 4) C4125 | digit desimal mengakhiri urutan escape oktal |
Peringatan kompilator (tingkat 4) C4127 | ekspresi kondisi adalah konstanta |
Peringatan kompilator (tingkat 1) C4129 | 'karakter': urutan escape karakter yang tidak dikenal |
Peringatan kompilator (tingkat 4) C4130 | 'operator': operasi logis pada alamat konstanta string |
Peringatan kompilator (tingkat 4) C4131 | 'function': menggunakan deklarator gaya lama |
Peringatan kompilator (tingkat 4) C4132 | 'objek': const objek harus diinisialisasi |
Peringatan kompilator (tingkat 1 dan tingkat 3) C4133 | 'expression': tipe yang tidak kompatibel - dari 'type1' hingga 'type2' |
Peringatan kompilator C4137 | 'function': no return value from floating-point function |
Peringatan kompilator (tingkat 1) C4138 | '*/ ' ditemukan di luar komentar |
Peringatan kompilator (tingkat 1, Kesalahan) C4141 | 'pengubah': digunakan lebih dari sekali |
Peringatan kompilator (tingkat 1) C4142 | 'pengidentifikasi': pendefinisian ulang jenis jinak |
Peringatan kompilator (tingkat 1) C4143 | pragma 'same_seg' tidak didukung; gunakan __based alokasi |
Peringatan kompilator (tingkat 1) C4144 | 'ekspresi': ekspresi relasional sebagai ekspresi pengalihan |
Peringatan kompilator (tingkat 1) C4145 | 'expression1': ekspresi relasional sebagai ekspresi pengalihan; kemungkinan kebingungan dengan 'ekspresi2' |
Peringatan kompilator (tingkat 2) C4146 | operator minus unary diterapkan ke jenis yang tidak ditandatangani, hasilnya masih tidak ditandatangani |
Peringatan kompilator (tingkat 2) C4150 | penghapusan pointer ke jenis 'type' yang tidak lengkap; tidak ada destruktor yang disebut |
Peringatan kompilator (tingkat 4) C4152 | ekstensi nonstandar, konversi penunjuk fungsi/data dalam ekspresi |
Peringatan kompilator (tingkat 1) C4153 | konversi penunjuk fungsi/data dalam ekspresi |
Peringatan kompilator (tingkat 1) C4154 | penghapusan ekspresi array; konversi ke pointer yang disediakan |
Peringatan kompilator (tingkat 1) C4155 | penghapusan ekspresi array tanpa menggunakan bentuk array 'delete' |
Peringatan kompilator (tingkat 2) C4156 | penghapusan ekspresi array tanpa menggunakan bentuk array 'delete'; formulir array diganti |
Peringatan kompilator (tingkat 1) C4157 | pragma diabaikan oleh pengkompilasi C |
Peringatan kompilator (tingkat 1) C4158 | dengan asumsi #pragma pointers_to_members(full_generality, 'inheritance_type') |
Peringatan kompilator (tingkat 3) C4159 | #pragma 'pragma'(pop,...) : telah muncul sebelumnya mendorong pengidentifikasi 'pengidentifikasi' |
Peringatan kompilator (tingkat 1) C4160 | #pragma 'pragma'(pop,...) : tidak menemukan pengidentifikasi 'pengidentifikasi' yang didorong sebelumnya |
Peringatan kompilator (tingkat 3) C4161 | #pragma 'pragma'(pop...) : lebih banyak pops daripada push |
Peringatan kompilator (tingkat 1) C4162 | 'pengidentifikasi': tidak ada fungsi dengan linkage C yang ditemukan |
Peringatan kompilator (tingkat 1) C4163 | 'pengidentifikasi': tidak tersedia sebagai fungsi intrinsik |
Peringatan kompilator (tingkat 1) C4164 | 'function': fungsi intrinsik tidak dideklarasikan |
Peringatan kompilator (tingkat 3, nonaktif) C4165 | 'HRESULT ' sedang dikonversi menjadi 'bool '; apakah Anda yakin ini yang Anda inginkan? |
Peringatan kompilator (tingkat 1) C4166 | konvensi panggilan ilegal untuk konstruktor/destruktor |
Peringatan kompilator (tingkat 1) C4167 | 'function': hanya tersedia sebagai fungsi intrinsik |
Peringatan kompilator (tingkat 1) C4168 | batas kompilator: di luar jenis debugger, hapus database program 'database' dan bangun ulang |
Peringatan kompilator (tingkat 1) C4172 | mengembalikan alamat variabel lokal atau optional_context sementara |
Peringatan kompilator (tingkat 1) C4174 | 'name': tidak tersedia sebagai #pragma component |
Peringatan kompilator (tingkat 1) C4175 | #pragma component(browser, on) : info browser awalnya harus ditentukan pada baris perintah |
Peringatan kompilator (tingkat 1) C4176 | 'subkomponen': subkomponen yang tidak diketahui untuk #pragma component browser |
Peringatan kompilator (tingkat 1) C4177 | #pragma 'pragma' hanya boleh digunakan pada cakupan global atau cakupan namespace layanan |
Peringatan kompilator (tingkat 1) C4178 | case konstanta 'konstanta' terlalu besar untuk jenis ekspresi pengalihan |
Peringatan kompilator (tingkat 4, tidak lagi dipancarkan) C4179 | '//* ': diurai sebagai '/ ' dan '/\* ': kebingungan dengan komentar '// ' standar |
Peringatan kompilator (tingkat 1) C4180 | kualifikasi yang diterapkan ke jenis fungsi tidak memiliki arti; Diabaikan |
Peringatan kompilator C4181 | kualifikasi diterapkan ke jenis referensi; Diabaikan |
Peringatan kompilator (tingkat 1) C4182 | #include tingkat berlapis nest_count dalam; kemungkinan rekursi tak terbatas |
Peringatan kompilator (tingkat 1) C4183 | 'pengidentifikasi': jenis pengembalian hilang; diasumsikan sebagai fungsi anggota yang mengembalikan 'int ' |
Peringatan kompilator (tingkat 1) C4185 | mengabaikan atribut 'atribut' yang tidak diketahui #import |
Peringatan kompilator (tingkat 1) C4186 | # atribut impor 'atribut' memerlukan argumen 'argument_count'; diabaikan |
Peringatan kompilator (tingkat 1) C4187 | #import atribut 'attribute1' dan 'attribute2' tidak kompatibel; keduanya diabaikan |
Peringatan kompilator (tingkat 1) C4188 | ekspresi konstanta tidak integral |
Peringatan kompilator (tingkat 3 dan tingkat 4) C4189 | 'pengidentifikasi': variabel lokal diinisialisasi tetapi tidak dirujuk |
Peringatan kompilator (tingkat 1) C4190 | 'identifier1' memiliki C-linkage yang ditentukan, tetapi mengembalikan UDT 'identifier2' yang tidak kompatibel dengan C |
Peringatan kompilator (tingkat 3, nonaktif) C4191 | 'operation': konversi tidak aman dari 'type_of_expression' ke 'type_required' Melakukan panggilan fungsi menggunakan penunjuk yang dihasilkan dapat menyebabkan program Anda gagal |
Peringatan kompilator (tingkat 3) C4192 | secara otomatis mengecualikan 'pengidentifikasi' saat mengimpor pustaka jenis 'pustaka' |
Peringatan kompilator (tingkat 3) C4193 | #pragma warning(pop) : tidak ada pencocokan '#pragma warning(push) ' |
Peringatan kompilator (tingkat 1) C4194 | #pragma start_map_region tidak dapat ditumpuk; Diabaikan |
Peringatan kompilator (tingkat 1) C4195 | #pragma stop_map_region digunakan tanpa pencocokan #pragma start_map_region ; diabaikan |
Peringatan kompilator (tingkat 1) C4196 | diharapkan 'token1' atau 'token2'; ditemukan 'token3' |
Peringatan kompilator (tingkat 3) C4197 | 'type': tingkat atas volatile dalam cast diabaikan |
Peringatan kompilator (tingkat 1, tingkat 2, tingkat 3, dan tingkat 4) C4199 | message |
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