다음을 통해 공유


컴파일러 경고(수준 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
}