VC中的一个很奇怪的问题--关于C4244

    从VC2003到VC2005,一直有一个很奇怪的问题。
    如下的代码:
    short s1 = 0;
    
short s2 = 2;

    s1 
+= s2;
    在这两个编译器的 /w4 四级警告打开的时候,就冒出以下的警告来:
warning C4244: “+=”: 从“int”转换到“short”,可能丢失数据
    为了消除这个警,只能将 += 拆成 = 和 +,如 s1 = s1 + s2。

    终于,这个问题在VC2008消失了。

posted @ 2007-11-30 12:48 沐枫 阅读(...) 评论(...) 编辑 收藏