Condividi tramite


C6388

avviso C6388: <argomento> non può essere <valore>: questa condizione non soddisfa la specifica della funzione <nome funzione>: Righe: x, y

L'avviso indica che nel contesto specificato è stato utilizzato un valore imprevisto. Viene solitamente riportato per valori passati come argomenti a una funzione che non lo prevede.

Esempio

Nel codice C++ seguente l'avviso viene generato perché DoSomething prevede un valore Null ma potrebbe essere stato passato un valore potenzialmente diverso da null:

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

Per risolvere il problema, utilizzare il codice di esempio seguente:

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

Vedere anche

Concetti

Cenni preliminari sull'annotazione