Freigeben über


C6309

C6309

Warnung C6309: Das Argument <Nummer> ist NULL: Dies entspricht nicht der Funktionsspezifikation von <Funktion>.

Diese Meldung gibt an, dass der Code einen unerwarteten NULL-Parameter als Argument an die angegebene API übergibt. Das Übergeben eines NULL-Parameters an eine Funktion, die einen Parameter erwartet, bei dem es sich nicht um einen NULL-Parameter handelt, kann zu einer nicht behandelten Ausnahme führen.

Beispiel

Der folgende Code generiert die Warnung 6309 und die Warnung 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
}

So korrigieren Sie beide Warnungen unter Verwendung des folgenden Codes

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

Siehe auch

Referenz

C6387