Avertissement C26813
Utilisez « au niveau du bit et » pour case activée si un indicateur est défini
Notes
La plupart des enum
types avec la puissance de deux valeurs membres sont destinés à être utilisés comme indicateurs de bits. Par conséquent, vous souhaitez rarement comparer ces indicateurs pour l’égalité. Au lieu de cela, extrayez les bits qui vous intéressent à l’aide d’opérations au niveau du bit.
Nom de l’analyse du code : USE_BITWISE_AND_TO_CHEK_ENUM_FLAGS
Exemple
enum BitWise
{
A = 1,
B = 2,
C = 4
};
void useEqualsWithBitwiseEnum(BitWise a)
{
if (a == B) // Warning C26813: Use 'bitwise and' to check if a flag is set
return;
}
Pour corriger l’avertissement, utilisez les opérations au niveau du bit :
void useEqualsWithBitwiseEnum(BitWise a)
{
if (a & B) // Fixed.
return;
}
Voir aussi
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