Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
'operator' : décalage de nombre négatif ou trop volumineux, comportement non défini
Notes
Si un nombre de décalages est négatif ou trop volumineux, le comportement de l’image résultante n’est pas défini.
Pour résoudre ce problème, vous pouvez utiliser un cast sur le premier opérande pour l’étendre à la taille du type de résultat.
Exemple
L’exemple suivant génère l’erreur C4293 et montre comment le corriger :
// 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;
}