Advertencia C6281
Orden incorrecto de las operaciones: los operadores relacionales tienen mayor prioridad que los operadores bit a bit.
Comentarios
Esta advertencia indica un posible error en la prioridad de operadores, lo que podría producir resultados incorrectos. Debe comprobar la prioridad y usar paréntesis para aclarar la intención. Los operadores relacionales (<
,>
, <=
, >=
==
, !=
) tienen mayor prioridad que los operadores bit a bit (&
, |
, ^
).
Nombre del análisis de código: BITWISERELATIONPRECEDENCEERROR
Ejemplo
El código siguiente genera esta advertencia:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if (FORMAT & TYPE != input)
{
// code...
}
}
El código siguiente utiliza paréntesis para corregir esta advertencia:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if ((FORMAT & TYPE) != input)
{
// code...
}
}
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