VC中的一个很奇怪的问题--关于C4244
从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消失了。