大小规范无效:表达式必须为整型类型:函数 'function' 'parameter' 上的注释 'annotation'
注解
注意
此警告仅发生在使用源代码批注语言 (SAL) 已弃用版本的代码中。 建议你移植代码以使用 SAL 的最新版本。 有关详细信息,请参阅使用 SAL 批注以减少 C/C++ 代码缺陷。
此警告指示应使用整型类型,但使用了不正确的数据类型。 可以使用注释属性来接受另一个参数的参数大小,但必须使用正确的数据类型。 有关注释属性的列表,请参阅使用 SAL 注释减少代码缺陷。
代码分析名称:INVALID_SIZE_STRING_TYPE
示例
以下代码将生成此警告:
// 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);
若要更正此警告,请使用size_tValidBytesParam参数数据类型,如以下示例代码所示:
// 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);