C6388
C6388 de aviso: <argument> não pode ser <value>: isso não está de acordo com a especificação para a função <function name>: Linhas: x, y
Esse erro inesperado indica que um valor está sendo usado em um contexto especificado.Isso geralmente é relatado para os valores passados como argumentos para uma função que espere.
Exemplo
O código a seguir C++ gera esse erro porque DoSomething espera um valor nulo mas um valor potencialmente não-nulo pode ser passado:
#include <string.h>
#include <malloc.h>
#include <sal.h>
void DoSomething( _Pre_ _Null_ void* pReserved );
void f()
{
void* p = malloc( 10 );
DoSomething( p ); // Warning C6388
// code...
free(p);
}
Para corrigir este aviso, use o código de exemplo a seguir:
#include <string.h>
#include <malloc.h>
#include <sal.h>
void DoSomething( _Pre_ _Null_ void* pReserved );
void f()
{
void* p = malloc( 10 );
if (!p)
{
DoSomething( p );
}
else
{
// code...
free(p);
}
}