警告 C6514

無效的註釋:『name』 屬性的值超過數位的大小

備註

這個警告表示屬性值超過批注參數中指定的陣列大小。 當為註釋屬性指定的值大於所傳遞陣列的實際長度時,就會發生這個警告。

程式碼分析名稱:BUFFER_SIZE_EXCEEDS_ARRAY_SIZE

範例

下列程式代碼會產生此警告,因為數位列大小為 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(*matrix) [6] );

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