C6388
警告 C6388: <引数> は <値> ではない可能性があります: この動作は、関数 <関数名> の指定に従っていません: 行: 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);
}
}