Compartir a través de


C6514

advertencia C6514: Anotación no válida: el valor de la propiedad <nombre> supera el tamaño de la matriz

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

Ejemplo

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

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f( [Pre(Deref=1, ValidElementsConst=6)] char(*matirx) [6] );