Compartilhar via


C6387

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

Este aviso ocorre se um parâmetro de função com anotações está sendo passado como um valor inesperado.Por exemplo, passando um valor nulo potencialmente a um parâmetro que é marcado com [pré (nulo = no)] atributo gera esse aviso.

Exemplo

O código a seguir gera este aviso porque um parâmetro nulo é passado para f(char *):

#include <codeanalysis/sourceannotations.h>
using namespace vc_attributes;

[returnvalue:Post(Null=Yes)] char * g();

void f([Pre (Null=No)] char *pch);

void main()
{
    char *pCh=g();
    f(pCh); //C6387
}

Para corrigir esse aviso, use o seguinte código:

#include <codeanalysis/sourceannotations.h>
using namespace vc_attributes;

[returnvalue:Post(Null=No)] char * g();

void f([Pre (Null=No)] char *pch);

void main()
{
    char *pCh=g();
    f(pCh);
}

Consulte também

Conceitos

Visão geral de anotação

Referência

strlen strlen_l wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l