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 <sal.h>
void DoSomething( _Pre_ _Null_ void* pReserved );
void f()
{
void* p = malloc( 10 );
DoSomething( p ); // Warning C6388
// code...
free(p);
}
Pour corriger cet avertissement, utilisez l'exemple de code suivant :
#include <string.h>
#include <malloc.h>
#include <sal.h>
void DoSomething( _Pre_ _Null_ void* pReserved );
void f()
{
void* p = malloc( 10 );
if (!p)
{
DoSomething( p );
}
else
{
// code...
free(p);
}
}