コンパイラの警告 (レベル 4、オフ) C4365
'action': 'type_1' から 'type_2' に変換しました。signed/unsigned が一致しません
たとえば、符号なしの値を符号付きの値に変換しようとしたとします。 このパターンでは、実行時にソース値が変換先の型の範囲内にない場合に、予期しない結果が発生する可能性があります。 負の値が符号付き値に変換される場合などです。
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
}