从VC2003到VC2005,一直有一个很奇怪的问题。
如下的代码:
终于,这个问题在VC2008消失了。
如下的代码:
short
s1
=
0
;
short s2 = 2 ;
s1 += s2;
在这两个编译器的 /w4 四级警告打开的时候,就冒出以下的警告来:
short s2 = 2 ;
s1 += s2;
warning C4244: “
+=
”: 从“
int
”转换到“
short
”,可能丢失数据
为了消除这个警,只能将 += 拆成 = 和 +,如 s1 = s1 + s2。
终于,这个问题在VC2008消失了。
探讨了在VC2003和VC2005中遇到的一个奇怪问题:使用短整型变量进行+=操作时出现C4244警告。此警告提示可能会导致数据丢失。为解决该问题,需将+=操作分解为加法和赋值操作。此问题在VC2008中得到解决。
2万+

被折叠的 条评论
为什么被折叠?



