Avertissement du compilateur (niveau 1) C4293
'operator' : décalage de nombre négatif ou trop volumineux, comportement non défini
Si un nombre de décalages est négatif ou trop volumineux, le comportement de l’image résultante n’est pas défini.
Notes
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;
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour