Поделиться через


Предупреждение компилятора (уровень 1) C4293

оператор: отрицательное или слишком большое смещение; поведение не определено

Если начало сдвига отрицательно или слишком велико, поведение результирующего образа непредсказуемо.

Пример

Следующий пример приводит к возникновению ошибки C4293:

// 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;
}