Share via


C6388

Mise à jour : novembre 2007

C6388

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

Cet avertissement indique qu'une valeur inattendue est utilisée dans le contexte spécifié. Il s'affiche généralement pour les valeurs passées comme arguments à une fonction qui ne s'y attend pas.

Exemple

Le code C++ suivant génère cet avertissement car DoSomething attend une valeur null, mais une valeur potentiellement non null peut être passée :

#include <string.h>
#include <malloc.h>
#include <codeanalysis\sourceannotations.h>
using namespace vc_attributes;

void DoSomething( [Pre( Null=Yes )] void* pReserved );
 
void f()
{
    void* p = malloc( 10 );
    DoSomething( p );  // C6388
    // code...
    free(p);
}

Pour corriger cet avertissement, utilisez l'exemple de code suivant :

#include <string.h>
#include <malloc.h>
#include <codeanalysis\sourceannotations.h>
using namespace vc_attributes;

void DoSomething( [Pre( Null=Yes )] void* pReserved );

void f()
{
  void* p = malloc( 10 );
  if (!p)
  {
    DoSomething( p );  
  }
  else
  {
    // code...
    free(p);
  }
} 

Voir aussi

Concepts

Vue d'ensemble de l'annotation