C6001C6001

Aviso C6001: uso de memória não inicializada <variável >warning C6001: using uninitialized memory <variable>

Esse aviso é relatado quando uma variável local não inicializada é usada antes de ser atribuído um valor.This warning is reported when an uninitialized local variable is used before it is assigned a value. Isso pode levar a resultados imprevisíveis.This could lead to unpredictable results. Você deve sempre inicializar variáveis antes do uso.You should always initialize variables before use.

ExemploExample

O código a seguir gera este aviso porque variável i é inicializado apenas se b for true; caso contrário, um não inicializada i é retornado: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 corrigir esse aviso, inicialize a variável, conforme mostrado no código a seguir: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;
}

Consulte tambémSee Also

Aviso do compilador (níveis 1 e 4) C4700Compiler Warning (level 1 and level 4) C4700