繁体   English   中英

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

How can I fix error code C4146 “unary minus operator applied to unsigned type.result still unsigned”?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

数据类型int的最小值为-2,147,483,648。

所以,我输入了

int val = -2147483648;

但是,它有一个错误:

unary minus operator applied to unsigned type.result still unsigned

我该如何解决?

2 个回复

2147483648超出了您平台上的int范围。

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

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

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

或者诉诸好老- 1

int val = -2147483647 - 1;

-2,147,483,648被解释为2147483648否定。 2147483648超过系统上的最大正整数,并被视为无符号。

相反,试试吧

-2147483647 - 1
6 错误将一元减运算符应用于无符号类型会导致无符号

我目前在我的代码中有一个将数字类型转换为字符串的函数。由于我没有使用std::to_string 。 现在,此代码可以在XCode上很好地构建,但是窗口似乎在抱怨。 Windows抱怨的原因是,在某一时刻我传递了一个无符号类型,然后对该类型执行否定操作,因为该类型为无符号类型,所以仍然保持肯 ...

8 C:具有无符号操作数的一元减运算符行为

我似乎无法在 C 标准中找到完全定义具有无符号操作数的一元减运算符的行为的相关部分。 2003 C++ 标准(是的,C++,请多多指教)在 5.3.1c7 中说: The negative of an unsigned quantity is computed by subtracting it ...

9 如何修复此OpenCV错误:cv :: Vec中的断言失败((unsigned)i <(unsigned)cn) :: operator(),文件

我正在为图像处理中的图像设置一个随机的咏叹调,以便在我的桌面应用程序中进行学习。 我需要在哪里放置我的颜色值(有3种颜色的运河)品红色? ` 我的函数名为First,它计算参数Mat img给出的对象图像的咏叹调。 我在TheCallBackFunc1中使用my函数,我在其中调 ...

2019-03-25 14:04:25 1 81   c++
10 VS2015 mpirxx错误C4146

我正在使用Visual Studio Community 2015,并且想使用mpirxx设置项目。 最近,我已经编译了mpirxx代码以获取调试库文件。 在我的项目中,我包含了mpirxx.h文件并链接了mpirxx.lib,但是当我尝试编译时,mpirxx.h从代码的多行中得到了17 ...

2016-01-18 19:21:03 0 308   c++/ mpir
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM