C6514

警告 C6514:无效的批注: <name> 属性的值超出了数组的大小

此警告意味着属性值超出了带批注的参数中指定的数组大小。当批注属性的指定值超出被传递数组的实际长度时,会出现此警告。

示例

在下面的代码中,由于数组的大小为 6,而 ValidElementsConst 属性值为 8,因此会生成此警告:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f( [SA_Pre(Deref=1, ValidElementsConst=8)] char(*matrix) [6] );

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f( [Pre(Deref=1, ValidElementsConst=8)] char(*matrix) [6] );

若要更正此警告,应确保 ValidElementsConst 中指定的大小小于或等于数组的大小,如下面的代码示例所示:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f( [SA_Pre(Deref=1, ValidElementsConst=6)] char(*matirx) [6] );

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f( [Pre(Deref=1, ValidElementsConst=6)] char(*matirx) [6] );