Advertencia C6514

Anotación no válida: el valor de la propiedad 'name' supera el tamaño de la matriz.

Comentarios

Esta advertencia indica que un valor de propiedad supera el tamaño de la matriz especificada en el parámetro que se anota. Se produce cuando el valor especificado para la propiedad de anotación es mayor que la longitud real de la matriz que se pasa.

Nombre del análisis de código: BUFFER_SIZE_EXCEEDS_ARRAY_SIZE

Ejemplo

El código siguiente genera esta advertencia porque el tamaño de la matriz es 6, pero el valor de la ValidElementsConst propiedad es 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] );

Para corregir esta advertencia, asegúrese de que el tamaño especificado en ValidElementsConst sea menor o igual que el tamaño de la matriz, como se muestra en el código de ejemplo siguiente:

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