C6239C6239

Advertencia C6239: (<constante distinto de cero > & & <expresión >) siempre se evalúa como el resultado de <expresión >.warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>. ¿Deseaba utilizar bit a bit- and (operador)?Did you intend to use the bitwise-and operator?

Esta advertencia indica que un valor constante distinto de cero, que no es uno, se ha detectado en el lado izquierdo de una operación lógica- y operación que se produce en un contexto de prueba.This warning indicates that a non-zero constant value, other than one, was detected on the left side of a logical-AND operation that occurs in a test context. Por ejemplo, la expresión ( 2 && n ) se reduce a (!!n), que es el valor booleano de n.For example, the expression ( 2 && n ) is reduced to (!!n), which is the Boolean value of n.

Esta advertencia suele indicar un intento de comprobación de una máscara de bits en el que el bit a bit- y (&) operador debe usarse y no se genera si la constante es distinto de cero se evalúa como 1 debido a su uso para elegir de forma selectiva las rutas de código.This warning typically indicates an attempt to check a bit mask in which the bitwise-AND (&) operator should be used, and is not generated if the non-zero constant evaluates to 1 because of its use for selectively choosing code paths.

EjemploExample

El código siguiente genera esta advertencia:The following code generates this warning:

#include <stdio.h>  
#define INPUT_TYPE 2  
void f( int n )  
{  
   if(INPUT_TYPE && n) // warning 6239  
   {  
      puts("boolean value of n is true");  
   }  
   else  
   {  
      puts("boolean value of n is false");  
   }  
}  

Para corregir esta advertencia, utilice bit a bit- y (&) operador tal como se muestra en el código siguiente:To correct this warning, use bitwise-AND (&) operator as shown in the following code:

#include <stdio.h>  
#define INPUT_TYPE 2  
void f( int n )  
{  
   if( ( INPUT_TYPE & n ) )  
   {  
      puts("bitmask true");  
   }  
   else  
   {  
      puts("bitmask false");  
   }  
}  

Vea tambiénSee Also

Operador && Operator