Bagikan melalui


Peringatan kompilator C/C++ Microsoft C5200 hingga C5399

Artikel di bagian ini menjelaskan pesan peringatan pengkompilasi Microsoft C/C++ C5200 hingga C5399.

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 1) C5200 fitur 'feature-name' memerlukan bendera kompilator 'option-name'
Peringatan kompilator (tingkat 1) C5201 deklarasi modul hanya dapat muncul di awal unit terjemahan kecuali fragmen modul global digunakan
Peringatan kompilator (tingkat 1) C5202 fragmen modul global hanya dapat berisi arahan preprocessor
Peringatan kompilator (tingkat 1) C5203 nama deklarator yang dikurung setelah 'eksplisit' akan dianggap sebagai penentu eksplisit di C++20
Peringatan kompilator (tingkat 3, nonaktif) C5204 'type-name': class memiliki fungsi virtual, tetapi destruktor sepelenya tidak virtual; instans objek yang berasal dari kelas ini mungkin tidak dihancurkan dengan benar
Peringatan kompilator (tingkat 4) C5205 penghapusan kelas abstrak 'type-name' yang memiliki destruktor non-virtual menghasilkan perilaku yang tidak ditentukan
Peringatan kompilator (tingkat 3) C5206 jenis pengembalian yang disimpulkan untuk coroutines adalah ekstensi non-standar
Peringatan kompilator (tingkat 1) C5207 persyaratan sederhana menegaskan validitas ekspresi 'e->id'. Apa maksudmu '{ e } -> id'? Anda dapat menekan peringatan menggunakan '{ e->id }'
Peringatan kompilator (tingkat 1) C5208 kelas tanpa nama yang digunakan dalam typedef nama tidak dapat mendeklarasikan anggota selain anggota data non-statis, enumerasi anggota, atau kelas anggota
Peringatan kompilator (tingkat 1) C5209 sintaks C++20 untuk init-capture telah berubah menjadi '& ... penginisialisasi pengidentifikasi opt'
Peringatan kompilator (tingkat 1) C5210 'name' bukan referensi unit header yang valid; mengabaikan
Peringatan kompilator (tingkat 1) C5212 'name' bukan referensi bernama yang valid; memperlakukan sebagai referensi ke file
Peringatan kompilator (tingkat 1) C5213 Referensi bernama 'name' diperlakukan sebagai partisi bernama tetapi nama tidak ditentukan; memperlakukan sebagai referensi ke file
Peringatan kompilator (tingkat 4, nonaktif) C5214 menerapkan 'pengubah' ke operand dengan tipe memenuhi syarat volatil tidak digunakan lagi di C++20
Peringatan kompilator (tingkat 4, nonaktif) C5215 'nama' parameter fungsi dengan jenis yang memenuhi syarat volatil tidak digunakan lagi di C++20
Peringatan kompilator (tingkat 4, nonaktif) C5216 'name' jenis pengembalian yang memenuhi syarat volatil tidak digunakan lagi di C++20
Peringatan kompilator (tingkat 4, nonaktif) C5217 deklarasi pengikatan terstruktur yang mencakup volatile tidak digunakan lagi dalam C++20
Peringatan kompilator (tingkat 1) C5218 menghancurkan penghapusan mungkin tidak bersifat seperti yang dimaksudkan ketika sakelar yang tidak sesuai '/Zc:sizedDealloc-' atau '/Zc:alignedNew-' digunakan
Peringatan kompilator (tingkat 2, nonaktif) C5219 konversi implisit dari 'type-1' ke 'type-2', kemungkinan hilangnya data
Peringatan kompilator (tingkat 4, nonaktif) C5220 'name': anggota data non-statis dengan jenis yang memenuhi syarat volatil tidak lagi menyiratkan bahwa konstruktor salinan/pemindahan yang dihasilkan kompilator dan operator penetapan salin/pindah tidak sepele
Peringatan kompilator (tingkat 1) C5221 xfg::rename tidak digunakan lagi.
Peringatan kompilator (tingkat 3) C5222 'attribute-name': semua nama atribut yang tidak tercakup dicadangkan untuk standardisasi di masa mendatang
Peringatan kompilator (tingkat 3) C5223 semua nama atribut di namespace atribut 'msvc' dicadangkan untuk implementasi
Peringatan kompilator (tingkat 3) C5224 semua nama atribut di namespace atribut 'namespace-name' dicadangkan untuk standardisasi di masa mendatang
Peringatan kompilator (tingkat 1) C5225 'simbol': fungsi sebaris yang diekspor yang ditentukan dalam fragmen modul privat adalah ekstensi non-standar
Peringatan kompilator (tingkat 1) C5226 'simbol': templat yang diekspor yang ditentukan dalam fragmen modul privat tidak memiliki instansiasi yang dapat dijangkau
Peringatan kompilator (tingkat 4) C5227 ekstensi nonstandard, menyelesaikan 'simbol' ke 'nilai' yang tidak terlihat dengan /permissive- aktif.
Peringatan kompilator (tingkat 4) C5228 ekstensi nonstandard, 'pengidentifikasi' diselesaikan ke anggota basis dependen. Pencarian ini tidak diperbolehkan di bawah /permissive-.
Peringatan kompilator (tingkat 4) C5229 ekstensi nonstandard, fungsi teman tersembunyi 'function-name' ditemukan berdasarkan pencarian nama yang tidak diizinkan di bawah /permissive-.
Peringatan kompilator C5230 ekstensi nonstandar, 'pengidentifikasi' diselesaikan ke 'simbol-1' di bawah /permissive. Di bawahnya /permissive- akan diselesaikan ke 'simbol-2'.
Peringatan kompilator (tingkat 3) C5231 ekspresi 'co_await promise.final_suspend()' harus tidak melempar
Peringatan kompilator (tingkat 1) C5232 di C++20 perbandingan ini memanggil 'nama' secara rekursif
Peringatan kompilator (tingkat 4, nonaktif) C5233 'Pengidentifikasi' penangkapan lambda eksplisit tidak digunakan
Peringatan kompilator (tingkat 1) C5234 kesalahan sistem file: 'nama file' bukan nama header yang valid; mengabaikan
Peringatan kompilator (tingkat 1) C5235 Kesalahan penguraian JSON: pesan; mengabaikan 'nama file'
Peringatan kompilator (tingkat 1) C5236 JSON berbentuk sakit: pesan; mengabaikan 'nama file'
Peringatan kompilator (tingkat 1) C5237 tidak dapat mengatasi entri unit header 'nama' ke file header di 'nama file'; mengabaikan entri
Peringatan kompilator (tingkat 1) C5238 kesalahan sistem file: tidak dapat membuka 'nama file' untuk dibaca; mengabaikan
Peringatan kompilator (tingkat 4) C5239 'simbol': berpotensi melemparkan fungsi yang dipanggil dari fungsi yang dinyatakan __declspec(nothrow). Perilaku yang tidak terdefinisi dapat terjadi jika pengecualian dilemparkan.
Peringatan kompilator (tingkat 4) C5240 'attribute-name': atribut diabaikan dalam posisi syntactic ini
Peringatan kompilator (tingkat 1) C5241 Penggunaan '/exportHeader' untuk mencari header-name tidak digunakan lagi; lebih suka '/headerName:name value=filename'
Peringatan kompilator (tingkat 1) C5242 kesalahan sintaks dalam pragma 'pengidentifikasi'
Peringatan pengkompilasi (tingkat 1, nonaktif) C5243 'type-name': menggunakan kelas 'class-name' yang tidak lengkap dapat menyebabkan potensi pelanggaran aturan definisi karena keterbatasan ABI
Peringatan kompilator (tingkat 1) C5244 '#include <filename>' di purview modul 'module-name-1' muncul keliru. Pertimbangkan untuk memindahkan arahan tersebut sebelum deklarasi modul, atau ganti penyertaan tekstual dengan 'impor <module-name-2>;'.
Peringatan kompilator (tingkat 4, nonaktif) C5245 'function': fungsi tidak direferensikan dengan tautan internal telah dihapus
Peringatan kompilator (tingkat 1, nonaktif) C5246 'member': inisialisasi subobjek harus dibungkus dengan kurung kurawal
Peringatan pengkompilasi (tingkat 1, nonaktif) C5247 bagian 'section-name' dicadangkan untuk inisialisasi dinamis C++. Membuat bagian secara manual akan mengganggu inisialisasi dinamis C++ dan dapat menyebabkan perilaku yang tidak ditentukan
Peringatan kompilator (tingkat 1, nonaktif) C5248 bagian 'section-name' dicadangkan untuk inisialisasi dinamis C++. Variabel yang dimasukkan secara manual ke bagian dapat dioptimalkan dan urutannya relatif terhadap penginisialisasi dinamis yang dihasilkan kompilator tidak ditentukan.
Peringatan kompilator (tingkat 1, nonaktif) C5249 'bitfield' tipe 'enumeration_name' memiliki enumerator bernama dengan nilai yang tidak dapat diwakili dalam lebar bidang bit yang diberikan dari 'bitfield_width'.
Peringatan kompilator (tingkat 3, nonaktif) C5250 'function_name': fungsi intrinsik tidak dideklarasikan.
Peringatan kompilator (tingkat 4, nonaktif) C5251 nama segmen berubah setelah menyertakan header
Peringatan kompilator (tingkat 4) C5252 Beberapa jenis yang berbeda menghasilkan nilai hash jenis-hash XFG yang sama; PDB hanya akan merekam informasi untuk salah satunya
Peringatan kompilator (tingkat 4) C5253 lambda non-lokal tidak dapat memiliki default pengambilan
Peringatan pengkompilasi (tingkat 4, nonaktif) C5254 fitur bahasa 'pernyataan statis terse' memerlukan bendera kompilator '/std:c++17'
Peringatan kompilator (tingkat 3) C5255 karakter dua arah yang ditemui: 'U+XXXX'
Peringatan kompilator (tingkat 1, nonaktif) C5256 'enumerasi': deklarasi enumerasi yang tidak mendefinisikan dengan jenis yang mendasar tetap hanya diizinkan sebagai deklarasi mandiri
Peringatan kompilator (tingkat 1 atau 4) C5257 'enumerasi': enumerasi sebelumnya dinyatakan tanpa jenis yang mendasar tetap
Peringatan pengkompilasi (tingkat 4, nonaktif) C5258 pengambilan eksplisit 'simbol' tidak diperlukan untuk penggunaan ini
Peringatan kompilator (tingkat 4, nonaktif) C5259 'specialized-type': spesialisasi eksplisit memerlukan 'templat <>'
Peringatan kompilator (tingkat 1) C5260 variabel konstan 'nama-variabel' memiliki tautan internal dalam konteks file header yang disertakan, tetapi tautan eksternal dalam konteks unit header yang diimpor; pertimbangkan untuk mendeklarasikannya 'sebaris' juga jika akan dibagikan di seluruh unit terjemahan, atau 'statis' untuk mengekspresikan niat untuk menggunakannya secara lokal ke unit terjemahan ini
Peringatan kompilator (tingkat 2) C5261 tidak ada jenis bilangan bulat yang dapat mewakili semua nilai enumerator dalam enumerasi 'enum-name'
Peringatan kompilator (tingkat 1, kesalahan, nonaktif) C5262 fall-through implisit terjadi di sini; Apakah Anda kehilangan pernyataan istirahat? Gunakan [[fallthrough]] saat break pernyataan sengaja dihilangkan di antara kasus
Peringatan kompilator (tingkat 4, nonaktif) C5263 memanggil 'std::move' pada objek sementara mencegah elisi salin
Peringatan kompilator (tingkat 4, nonaktif) C5264 'variable-name': variabel 'const' tidak digunakan
Peringatan kompilator (tingkat 1) C5265 tidak dapat membuka jalur pencarian 'jalur'
Peringatan kompilator (tingkat 4, nonaktif) C5266 Kualifikasi 'const' pada jenis pengembalian tidak berpengaruh
Peringatan kompilator C5267 definisi operator konstruktor/penugasan salinan implisit untuk 'jenis' tidak digunakan lagi karena memiliki operator penugasan/konstruktor salin yang disediakan pengguna
Peringatan kompilator (tingkat 1) C5268 Gagal mengalokasikan memori pada alamat tetap 0xalamat. Gunakan /Yb untuk menentukan basis alamat tertentu jika file .pch yang identik bit diperlukan.
Peringatan kompilator (tingkat 1) C5269 Gagal mengalokasikan memori PCH pada alamat tetap 0xalamat. Gunakan /Ym untuk menentukan basis alamat tertentu jika file .pch yang identik bit diperlukan.
Peringatan kompilator (tingkat 3) C5270 'value' tidak diperbolehkan untuk opsi 'switch name'; nilai yang diizinkan adalah: daftar nilai
Peringatan kompilator (tingkat 4) C5271 assembly 'assembly1' yang sebelumnya diimpor memiliki nama yang sama dengan assembly 'assembly2' yang sedang diimpor. Apakah ini disengaja?
Peringatan kompilator (tingkat 1) C5272 melempar objek jenis 'type' yang tidak dapat disalin adalah non-standar. Jika salinan diperlukan pada runtime, salinan akan dibuat seolah-olah oleh memcpy.
Peringatan pengkompilasi (tingkat 1) C5273 perubahan perilaku: _Alignas pada jenis anonim tidak lagi diabaikan (anggota yang dipromosikan akan merata)
Peringatan kompilator (tingkat 1) C5274 perubahan perilaku: _Alignas tidak lagi berlaku untuk jenis 'type' (hanya berlaku untuk objek data yang dideklarasikan)
Peringatan kompilator (Kesalahan) C5275 rakitan fasad 'nama' sedang diimpor di bawah '/clr'; opsi hilang '/clr:netcore'?
Peringatan kompilator (tingkat 1, kesalahan) C5300 '#pragma omp atom': operan kiri 'operator' harus cocok dengan sisi kiri ekspresi penugasan
Peringatan kompilator (tingkat 1) C5301 '#pragma omp for': 'loop-index' meningkat sementara kondisi perulangan menggunakan 'perbandingan'; perulangan non-penghentian?
Peringatan kompilator (tingkat 1) C5302 '#pragma omp for': 'loop-index' menurun sementara kondisi perulangan menggunakan 'perbandingan'; perulangan non-penghentian?
Peringatan kompilator (tingkat 1) C5303 fungsi yang ditandai dengan [[msvc::intrinsic]] tidak menghasilkan cast no-op
Peringatan kompilator (tingkat 1) C5304 deklarasi yang ditunjuk oleh deklarasi penggunaan 'name1' yang diekspor dari modul ini memiliki tautan internal dan menggunakan nama seperti itu di luar modul berbentuk buruk; pertimbangkan untuk mendeklarasikan 'name2' 'inline' untuk menggunakannya di luar modul ini
Peringatan kompilator (tingkat 1) C5305 'name': deklarasi instansiasi eksplisit yang mengikuti definisi instansiasi eksplisit diabaikan

Lihat juga

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