我的代码中有以下行
signed int test_case= -2147483648;
Run Code Online (Sandbox Code Playgroud)
这会产生错误:
C4146一元减运算符应用于无符号类型,结果仍未签名
但这仍然是有符号整数类型的数据范围:
__int32 signed,signed int,int -2,147,483,648 to 2,147,483,647
奇怪的是把它分配为signed long会给出同样的错误,即
signed long test_case= -2147483648;
Run Code Online (Sandbox Code Playgroud)
以下更改编译正常:
signed int test_case= -2147483647;
signed int test_case= 2147483649;
signed long test_case= -214748364800;
Run Code Online (Sandbox Code Playgroud)
谢谢
c++ compiler-warnings visual-studio language-lawyer visual-studio-2015