C6001C6001

advertencia C6001: uso de memoria sin inicializar <variable >warning C6001: using uninitialized memory <variable>

Esta advertencia se muestra cuando se utiliza una variable local no inicializada antes de que se asigne un valor.This warning is reported when an uninitialized local variable is used before it is assigned a value. Esto podría provocar resultados imprevisibles.This could lead to unpredictable results. Siempre se deben inicializar las variables antes de su uso.You should always initialize variables before use.

EjemploExample

El código siguiente genera esta advertencia porque variable i sólo se inicializa si b es true; en caso contrario un sin inicializar i se devuelve:The following code generates this warning because variable i is only initialized if b is true; otherwise an uninitialized i is returned:

int f( bool b )  
{  
   int i;  
   if ( b )  
   {  
      i = 0;  
   }  
   return i; // i is unintialized if b is false  
}  

Para corregir esta advertencia, inicialice la variable como se muestra en el código siguiente:To correct this warning, initialize the variable as shown in the following code:

int f( bool b )  
{  
   int i= -1;  

   if ( b )  
   {  
      i = 0;  
   }  
   return i;  
}  

Vea tambiénSee Also

Advertencia del compilador (niveles 1 y 4) C4700Compiler Warning (level 1 and level 4) C4700