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[]);