Compiler Warning (level 4, off) C4388
'token' : ketidakcocokan yang ditandatangani/tidak ditandatangani
Menggunakan operator token untuk membandingkan signed
dan jumlah yang lebih besar unsigned
yang diperlukan pengkompilasi untuk mengonversi signed
nilai ke jenis yang lebih besarunsigned
.
Keterangan
Salah satu cara untuk memperbaiki peringatan ini adalah jika Anda melemparkan salah satu dari dua jenis ketika Anda membandingkan signed
dan jenis yang lebih besar unsigned
.
Peringatan ini nonaktif secara default. Anda dapat menggunakan /Wall atau /w44388
untuk mengaktifkannya pada baris perintah sebagai peringatan tingkat 4. Atau, gunakan #pragma warning(default:4388)
dalam file sumber Anda. Untuk informasi selengkapnya, lihat Peringatan pengkompilasi yang nonaktif secara default.
Contoh
Sampel ini menghasilkan C4388 dan menunjukkan cara memperbaikinya:
// C4388.cpp
// compile with: cl /EHsc /W4 C4388.cpp
#pragma warning(default: 4388)
int main() {
unsigned long long uc = 0;
int c = 0;
unsigned long long c2 = c; // implicit conversion
if (uc < c) // C4388
uc = 0;
if (uc < (unsigned long long)(c)) // OK
uc = 0;
if (uc < c2) // Also OK
uc = 0;
}
Lihat juga
Compiler Warning (Level 3) C4018
Compiler Warning (Level 4) C4389
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