unsigned long long i = 1000;
0.1*i
은 자동으로 이중으로 변환 되나요? 그렇다면 0.1*i
을 unsigned long long
이 필요한 함수 매개 변수로 전달할 때 컴파일러에서 경고 메시지를 표시하지 않는 이유는 무엇입니까? 나는 컴파일러가 이러한 잠재적 인 정밀도의 손실을 경고한다고 생각했다.두 배는 부호없는 부호없는 long은 항상 double입니까?
나는 모든 가능한 경고를 표시하기 위해 "-Weverything"으로 구성된 내 컴파일러 Clang을 보유하고 있습니다.
아, 그래. '의심스러운 암시 적 전환'경고 플래그를 켜면 경고가 표시됩니다. 왜 지옥이 "- 모든 것"은 그것이 주장하는 바가 아닌지 궁금합니다. 이것이 나에게 일어나는 두 번째 시간입니다. 모든 경고를 다 커버하지는 않습니다. – NoobOverflow