共用方式為


C6504

警告 C6504: 無效的附註: 屬性只能在指標、成員指標、陣列或參考型別的值上使用

這項警告表示在不相容的資料型別上使用屬性。 如需屬性所支援之資料型別的詳細資訊,請參閱附註屬性

範例

下列程式碼會產生這項警告,因為 Null 屬性不能用於 char 資料型別。 發生這項警告的原因在於 Deref=1 會參考字元,而不會參考字元的指標:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Null=SA_Yes)] char* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f([Pre(Deref=1, Null=Yes)] char* pc);

若要更正這項警告,請依下列範例程式碼移除 Deref=1:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Null=SA_Yes)] char* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f([Pre(Null=Yes)] char *pc); 

因為屬性衝突造成了無效的附註,所以稍早顯示的不良程式碼也會產生警告 C6516