Delen via


Compilerwaarschuwing (niveau 1) C4293

operator: verschuivingsteller is negatief of te groot, onbepaald gedrag

Opmerkingen

Als een verschuivingsaantal negatief of te groot is, is het gedrag van de resulterende afbeelding niet gedefinieerd.

U kunt dit probleem oplossen door een cast toe te passen op de eerste operand om deze uit te breiden tot de grootte van het resultaattype.

Example

In het volgende voorbeeld wordt C4293 gegenereerd en ziet u manieren om dit op te lossen:

// C4293.cpp
// compile with: /c /W1
unsigned __int64 combine (unsigned lo, unsigned hi)
{
   return (hi << 32) | lo;   // C4293

   // In C, try the following line instead:
   // return ( (unsigned __int64)hi << 32) | lo;
   // In C++, try this line instead:
   // return (static_cast<unsigned __int64>(hi) << 32) | lo;
}