Avertissement du compilateur (niveau 1) C4319
'~' : zéro extension 'type1' à 'type2' de taille supérieure
Le résultat de l’opérateur ~ (complément au niveau du bit) n’est pas signé, puis étendu zéro lorsqu’il est converti en type plus grand.
Exemple
Dans l’exemple suivant, ~(a - 1)
est évalué comme une expression longue non signée 32 bits, puis convertie en 64 bits par extension zéro. Cela peut entraîner des résultats d'opération inattendus.
// C4319.cpp
// compile with: cl /W4 C4319.cpp
int main() {
unsigned long a = 0;
unsigned long long q = 42;
q = q & ~(a - 1); // C4319 expected
}
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