Предупреждение компилятора (уровень 1) C4293
Оператор: число сдвигов отрицательное или слишком большое, неопределенное поведение
Если число сдвигов отрицательно или слишком велико, поведение результирующего изображения не определено.
Замечания
Чтобы устранить эту проблему, можно использовать приведение на первом операнде, чтобы развернуть его до размера типа результата.
Пример
В следующем примере возникает ошибка C4293 и показаны способы ее устранения:
// 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;
}
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по