Предупреждение 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] );