Partager via


C6309

avertissement C6309 : l'argument <numéro> est nul : il ne correspond pas à la spécification de la fonction <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