C6514
更新:2007 年 11 月
警告 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] );