Поделиться через


C6514

Предупреждение C6514: недопустимая аннотация. Значение свойства <имя> превышает размер массива.

Это предупреждение означает, что значение свойства превышает размер массива, указанного в аннотируемом параметре. Это предупреждение возникает, когда значение, указанное для свойства аннотации, больше фактической длины передаваемого массива.

Пример

Это предупреждение создается в следующем коде, поскольку размер массива равен 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] );