共用方式為


C6506

警告 C6506: 無效的附註: <name> 屬性只能用在指標或陣列型別的值

這則警告指出在不是指標或陣列型別的型別中使用了屬性。 Access、Tainted 和 Valid 屬性可以用於所有的資料型別中。 像是 ValidBytesConst、ValidElementsConst、ElementSize 和 NullTerminted 的其他屬性則支援指標、成員指標 (Pointer to Member) 或陣列型別。 如需完整的屬性清單和支援的資料型別,請參閱附註屬性

範例

下列程式碼將產生出這個警告:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidElementsConst=4)] int x);

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

void f([Pre(ValidElementsConst=4)] int x);

若要更正這則警告,請使用指標或陣列型別,如下列的範例程式碼所示:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidElementsConst=4)] int *px);
 - or -
void f([SA_Pre(ValidElementsConst=4)] int px[]);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(ValidElementsConst=4)] int *px);
 - or -
void f([Pre(ValidElementsConst=4)] int px[]);

請參閱

參考

C6516