Compartilhar via


C6388

Aviso C6388: <argumento>podem não estar <valor>: Isso não está de acordo com a especificação para a função < nome da função >: Linhas: x, y

Este aviso indica que um valor inesperado está sendo usado no contexto especificado.Isso normalmente é relatado para sistema autônomo valores passados sistema autônomo argumentos para uma função que não espera.

Exemplo

O seguinte código C++ gera este aviso porque DoSomething espera um valor nulo, mas pode ser passado um valor potencialmente não-nulo:

#include <string.h>
#include <malloc.h>
#include <codeanalysis\sourceannotations.h>
using namespace vc_attributes;

void DoSomething( [Pre( Null=Yes )] void* pReserved );
 
void f()
{
    void* p = malloc( 10 );
    DoSomething( p );  // C6388
    // code...
    free(p);
}

Para corrigir esse aviso, use o código de exemplo a seguir:

#include <string.h>
#include <malloc.h>
#include <codeanalysis\sourceannotations.h>
using namespace vc_attributes;

void DoSomething( [Pre( Null=Yes )] void* pReserved );

void f()
{
  void* p = malloc( 10 );
  if (!p)
  {
    DoSomething( p );  
  }
  else
  {
    // code...
    free(p);
  }
} 

Consulte também

Conceitos

Visão geral de anotação