C6309

Mise à jour : novembre 2007

C6309

Avertissement C6309 : L'argument <numéro> est null : ceci n'est pas conforme à la spécification de fonction de <fonction>

Ce message indique que le code passe un paramètre NULL inattendu comme argument à l'API spécifiée. Le passage d'un paramètre null à une fonction qui attend un paramètre non null peut générer une exception non gérée.

Exemple

Le code suivant génère les avertissements 6309 et 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
}

Pour corriger les deux avertissements, utilisez le code suivant :

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

Voir aussi

Référence

C6387