C6309
警告 C6309: 引數 <number> 為 null: 這並未遵守 <function> 的函式規格
這則訊息表示程式碼正在傳遞未預期的 null 參數做為指定 API 的引數。 將 null 參數傳遞給必須有非 null 參數的函式會造成無法處理的例外狀況。
範例
下列程式碼會產生警告 6309 和 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
}
若要更正這兩則警告,請使用下列程式碼:
#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());
}