Advertencia C26813
Use "bit a bit y" para comprobar si se establece una marca
Comentarios
La mayoría de los tipos enum
con potencia de dos valores de miembro están pensados para usarse como marcas de bits. Como resultado, rara vez le interesará comprobar estas marcas para ver si son iguales. En su lugar, extraerá los bits que le interesan mediante operaciones bit a bit.
Nombre del análisis de código: USE_BITWISE_AND_TO_CHEK_ENUM_FLAGS
Ejemplo
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 corregir la advertencia, use operaciones bit a bit:
void useEqualsWithBitwiseEnum(BitWise a)
{
if (a & B) // Fixed.
return;
}
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de