C6522

更新:2007 年 11 月

警告 C6522:大小规格无效: 表达式必须为整型

此警告意味着应当使用整数类型,但却使用了错误的数据类型。可以使用接受某个参数的大小作为另一个参数的批注属性,但是必须使用正确的数据类型。有关批注属性的列表,请参见 批注属性

示例

下面的代码生成此警告:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(ValidBytes="c")] char *pc, double c);

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

若要更正此警告,请对 ValidBytesParam 参数数据类型使用 size_t,如下面的代码示例所示:

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

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