無效的註釋:『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] );