Compiler Warning (level 2) C4307
'operator' : signed integral constant overflow
The operator is used in an expression that results in an integer constant overflowing the space allocated for it. You may need to use a larger type for the constant. A signed int
holds a smaller value than an unsigned int
because the signed int
uses one bit to represent the sign.
The following sample generates C4307:
// C4307.cpp
// compile with: /W2
int i = 2000000000 + 2000000000; // C4307
int j = (unsigned)2000000000 + 2000000000; // OK
int main()
{
}