Поделиться через


C6309

Предупреждение C6309: аргумент <номер> имеет нулевое значение, он не соответствует спецификации функции <функция>.

Это сообщение означает, что код передает указанному интерфейсу API непредвиденный параметр NULL в качестве аргумента. При передаче параметра null функции, ожидающей ненулевой параметр, может возникнуть необрабатываемое исключение.

Пример

В следующем коде создаются предупреждения 6309 и 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
}

Чтобы исправить оба предупреждения, используйте следующий код:

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

См. также

Ссылки

C6387