Share via


Derleyici Uyarısı (düzey 1) C4319

'~' : 'type1' öğesini daha büyük boyuttaki 'type2' değerine genişleten sıfır

(bit düzeyinde tamamlama) işlecinin ~ sonucu işaretsizdir ve daha büyük bir türe dönüştürüldüğünde sıfır genişletilmiştir.

Örnek

Aşağıdaki örnekte, ~(a - 1) 32 bit işaretsiz uzun ifade olarak değerlendirilir ve ardından sıfır uzantıyla 64 bit'e dönüştürülür. Bu, beklenmeyen işlem sonuçlarına yol açabilir.

// 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
}