次の方法で共有


警告 C6514

無効な注釈: 'name' プロパティの値が配列のサイズを超えています

解説

この警告は、プロパティ値が、注釈が付けられているパラメーターで指定された配列のサイズを超えていることを示しています。 この警告は、注釈プロパティに指定された値が、渡されている配列の実際の長さよりも大きい場合に発生します。

コード分析名: BUFFER_SIZE_EXCEEDS_ARRAY_SIZE

次のコードでは、配列のサイズは 6 ですが、プロパティ値は 8 であるため、この警告が ValidElementsConst 生成されます。

// 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] );