編譯器警告 (層級 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
}
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應