C6526

更新:2007 年 11 月

警告 C6526:大小规格无效: 表达式必须为数组类型或指针类型

此警告意味着用来指定属性值的数据类型是错误的。属性可能支持所有数据类型或其子集。在这种情况下,该属性的指定值必须是数组或指针类型。有关批注属性的列表,请参见 批注属性

示例

在下面的代码中,由于必须使用数组或指针类型来指定 WritableElementsLenght 的值,因此会生成此警告:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElementsLength="count")] char *ps, size_t count);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElementsLength="count")] char *ps, size_t count);

为更正此警告,下面的代码将 WritableELementsLength 的值设置为指针类型。通过指定数组或指针类型,指明 char *ps 的长度与 char*pt 的长度相同。

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElementsLength="pt")] char *ps, char *pt);

// C++  
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElementsLength="pt")] char *ps, char *pt);