Avertissement C26827
Avez-vous oublié d’initialiser une énumération ou d’avoir l’intention d’utiliser un autre type ?
Notes
La plupart des types utilisés dans les enum
opérations au niveau du bit sont censés avoir des membres avec des valeurs de puissances de deux. Cet avertissement tente de rechercher les cas où une valeur n’a pas été donnée explicitement à une constante d’énumération. Il détecte également les cas où le type d’énumération incorrect peut avoir été utilisé par inadvertance.
Nom de l’analyse du code : ALMOST_BITWISE_ENUM
Exemple
L’exemple de code suivant provoque l’avertissement C26827 :
enum class AlmostBitWise
{
A = 1,
B = 2,
C = 4,
D
};
int almostBitwiseEnums(AlmostBitWise a, bool cond)
{
return (int)a|(int)AlmostBitWise::A; // Warning C26827: Did you forget to initialize an enum, or intend to use another type?
}
Pour corriger l’avertissement, initialisez la constante d’énumération à la valeur correcte ou utilisez le type d’énumération correct dans l’opération.
enum class AlmostBitWise
{
A = 1,
B = 2,
C = 4,
D = 8
};
int almostBitwiseEnums(AlmostBitWise a, bool cond)
{
return (int)a|(int)AlmostBitWise::A; // No warning.
}
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