Freigeben über


Compilerwarnung (Stufe 1) C4293

'Operator' : Eine Verschiebung wurde mit einem negativen oder zu großen Wert aufgerufen, nicht definiertes Verhalten

Wenn eine Verschiebung mit einem negativen oder zu großen Wert aufgerufen wird, ist das Verhalten des resultierenden Abbildes nicht definiert.

Beispiel

Im folgenden Beispiel wird C4293 generiert:

// C4293.cpp
// compile with: /c /W1
unsigned __int64 combine (unsigned lo, unsigned hi) {

   return (hi << 32) | lo;   // C4293

   // try the following line instead
   // return ( (unsigned __int64)hi << 32) | lo;
}