Partilhar via


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);
    }
}

Consulte também

Outros recursos

Visão geral de anotação