C6309
Aviso C6309: argumento <number>é nulo: Ele não está de acordo com a especificação de função de <function>
Esta mensagem indica que o código está passando um parâmetro nulo inesperado sistema autônomo um argumento para a API especificada.Passar um parâmetro nulo a uma função que espera um parâmetro não-nulo pode causar uma exceção sem tratamento.
Exemplo
O código a seguir gera um aviso 6309 e 6387:
#include <codeanalysis/sourceannotations.h>
using namespace vc_attributes;
void f([Pre(Null=No)] void*);
[returnvalue:Post(Null=Yes)] void* g();
void main()
{
f(g()); // 6309 and 6387
}
Para corrigir os avisos, use o seguinte código:
#include <codeanalysis/sourceannotations.h>
using namespace vc_attributes;
void f([Pre(Null=No)] void*);
[returnvalue:Post(Null=No)] void* g(); // pointer not null
void main()
{
f(g());
}