컴파일러 경고(수준 4, 해제) C4365
'action': 'type_1'에서 'type_2'로 변환, 부호 있음/서명되지 않은 불일치
예를 들어 부호 없는 값을 부호 있는 값으로 변환하려고 했습니다. 이 패턴은 런타임 시 원본 값이 대상 형식의 범위가 아닌 경우 예기치 않은 결과를 초래할 수 있습니다. 부가 값으로 변환되는 음수 값과 같습니다.
C4365는 기본적으로 꺼져 있습니다. 자세한 내용은 Compiler Warnings That Are Off by Default을 참조하세요.
예시
다음 샘플에서는 C4365를 생성합니다.
// C4365.cpp
// compile with: /W4
#pragma warning(default:4365)
int f(int) { return 0; }
void Test(size_t i) {}
int main() {
unsigned int n = 10;
int o = 10;
n++;
f(n); // C4365
f(o); // OK
Test( -19 ); // C4365
}