共用方式為


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

請參閱

概念

附註概觀