從VC2003到VC2005,一直有一個(gè)很奇怪的問題。
如下的代碼:
short s1 = 0;
short s2 = 2;
s1 += s2;
在這兩個(gè)編譯器的 /w4 四級(jí)警告打開的時(shí)候,就冒出以下的警告來:
warning C4244: “+=”: 從“int”轉(zhuǎn)換到“short”,可能丟失數(shù)據(jù)
為了消除這個(gè)警,只能將 += 拆成 = 和 +,如 s1 = s1 + s2。
終于,這個(gè)問題在VC2008消失了。