Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 2) C4307

'operator' : sign integral constant overflow

Operátor se používá ve výrazu, který má za následek celočíselnou konstantu přetečení přiděleného prostoru. Pro konstantu možná budete muset použít větší typ. A signed int obsahuje menší hodnotu, než je hodnota, unsigned int protože signed int k reprezentaci znaménka používá jeden bit.

Následující ukázka vygeneruje C4307:

// C4307.cpp
// compile with: /W2
int i = 2000000000 + 2000000000;   // C4307
int j = (unsigned)2000000000 + 2000000000;   // OK

int main()
{
}