从VC2003到VC2005,一直有一个很奇怪的问题。 如下的代码: short s1 = 0; short s2 = 2; s1 += s2; 在这两个编译器的 /w4 四级警告打开的时候,就冒出以下的警告来: warning C4244: “+=”: 从“int”转换到“short”,可能丢失数据 为了消除这个警,只能将 += 拆成 = 和 +,如 s1 = s1 + s2。 终于,这个问题在VC2008消失了。 相关文章: