Share via


C6387

Mise à jour : novembre 2007

C6387

Avertissement C6387 : <argument> peut être <valeur> : ceci n'est pas conforme à la spécification de la fonction <NomFonction>. Lignes : x, y

Cet avertissement est déclenché si une valeur inattendue est passée à un paramètre de fonction annoté. Par exemple, le passage d'une valeur potentiellement null à un paramètre marqué avec l'attribut [Pre( Null=No )] génère cet avertissement.

Exemple

Le code suivant génère cet avertissement car un paramètre null est passé à f(char *):

#include <codeanalysis/sourceannotations.h>
using namespace vc_attributes;

[returnvalue:Post(Null=Yes)] char * g();

void f([Pre (Null=No)] char *pch);

void main()
{
    char *pCh=g();
    f(pCh); //C6387
}

Pour corriger cet avertissement, utilisez le code suivant :

#include <codeanalysis/sourceannotations.h>
using namespace vc_attributes;

[returnvalue:Post(Null=No)] char * g();

void f([Pre (Null=No)] char *pch);

void main()
{
    char *pCh=g();
    f(pCh);
}

Voir aussi

Concepts

Vue d'ensemble de l'annotation

Référence

strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l