Compiler Warning (level 1) C4319
'~' : nol perpanjangan 'type1' ke 'type2' dengan ukuran yang lebih besar
Hasil operator ~ (pelengkap bitwise) tidak ditandatangani dan kemudian tidak diperpanjang ketika dikonversi ke jenis yang lebih besar.
Contoh
Dalam contoh berikut, ~(a - 1)
dievaluasi sebagai ekspresi panjang 32-bit yang tidak ditandatangani lalu dikonversi menjadi 64 bit dengan ekstensi nol. Ini dapat menyebabkan hasil operasi yang tidak terduga.
// C4319.cpp
// compile with: cl /W4 C4319.cpp
int main() {
unsigned long a = 0;
unsigned long long q = 42;
q = q & ~(a - 1); // C4319 expected
}
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