C6506
更新:2007 年 11 月
警告 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[]);