C6309
Aggiornamento: novembre 2007
C6309
avviso C6309: l'argomento <numero> ha valore null: questa condizione non soddisfa la specifica di funzione di <funzione>
Il messaggio indica che il codice sta passando un parametro NULL non previsto come argomento all'API specificata. Il passaggio di un parametro null a una funzione per la quale è previsto un parametro diverso da null può provocare un'eccezione non gestita.
Esempio
Il codice seguente genera gli avvisi 6309 e 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
}
Per risolvere il problema relativo a entrambi gli avvisi, utilizzare il codice seguente:
#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());
}