컴파일러 경고(수준 1) C4319
'~': 'type1'을 더 큰 크기의 'type2'로 확장하는 0
(비트 보수) 연산자의 ~ 결과는 부호가 없으며 더 큰 형식으로 변환될 때 0으로 확장됩니다.
예시
다음 예제 ~(a - 1)
에서는 부호 없는 32비트 long 식으로 평가된 다음 0개의 확장으로 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 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기