如何修复错误代码C4146“unary减运算符应用于unsigned type.result仍未签名”?

前端之家收集整理的这篇文章主要介绍了如何修复错误代码C4146“unary减运算符应用于unsigned type.result仍未签名”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
数据类型int的最小值为-2,147,483,648.

所以,我输入了

int val = -2147483648;

但是,它有一个错误

unary minus operator applied to unsigned type.result still unsigned

我该如何解决

解决方法

2147483648超出了您平台的int范围.

使用具有更高精度的类型来表示常量

int val = -2147483648L;
// or
int val = -2147483648LL;

(取决于哪种类型的精度比平台上的int更高).

或者诉诸好老 – 一招

int val = -2147483647 - 1;
原文链接:https://www.f2er.com/c/113704.html

猜你在找的C&C++相关文章