C6522
警告 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);