編譯器警告 (層級 2) C4307
'operator':帶正負號的整數常數溢位
在運算式中使用該運算子會導致整數常數溢出了為其配置的空間。 您可能需要針對常數使用較大的類型。 signed int
保留小於 unsigned int
的值,因為 signed int
使用一個位元來表示符號。
下列範例會產生 C4307:
// C4307.cpp
// compile with: /W2
int i = 2000000000 + 2000000000; // C4307
int j = (unsigned)2000000000 + 2000000000; // OK
int main()
{
}