共用方式為


編譯器警告 (層級 1) C4319

'~' :零將 'type1' 擴充至大小較大的 'type2'

(位補碼) 運算符的結果 ~ 為不帶正負號,然後在轉換成較大的型別時以零延伸。

範例

在下列範例中, ~(a - 1) 會評估為32位不帶正負號的長表達式,然後以零擴展名轉換成64位。 這可能會導致非預期的作業結果。

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