Aviso C26813
Use 'bit a bit e' para verificar se um sinalizador está definido
Comentários
A maioria dos tipos enum
com poder de dois valores de membro destina-se a ser usada como sinalizadores de bit. Como resultado, você raramente deseja comparar esses sinalizadores quanto à igualdade. Em vez disso, extraia os bits nos quais você está interessado usando operações bit a bit.
Nome da análise de código: USE_BITWISE_AND_TO_CHEK_ENUM_FLAGS
Exemplo
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;
}
Para corrigir o aviso, use operações bit a bit:
void useEqualsWithBitwiseEnum(BitWise a)
{
if (a & B) // Fixed.
return;
}
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de