C6388
更新:2007 年 11 月
警告 C6388: <argument> 不可以是 <value>: 這並未遵守函式 <function name> 的規格: 行: x, y
這項警告表示在指定的內容中使用未預期的值。這通常是針對當做引數傳遞至不需要此值之函式的值所報告的。
範例
下列 C++ 程式碼會產生這項警告,因為 DoSomething 會需要 null 值,但可能會傳遞可能不是 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);
}
若要更正這則警告,請使用下列範例程式碼:
#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);
}
}