Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Operator: skiftantal negativt eller för stort, odefinierat beteende
Anmärkningar
Om ett skiftantal är negativt eller för stort är beteendet för den resulterande bilden odefinierat.
För att lösa det här problemet kan du använda en cast på den första operanden för att expandera den till storleken på resultattypen.
Example
Följande exempel genererar C4293 och visar sätt att åtgärda det:
// 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;
}