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。