Condividi tramite


C6514

avviso C6514: annotazione non valida: il valore della proprietà <nome> supera le dimensioni della matrice

L'avviso indica che un valore di proprietà supera la dimensione della matrice specificata nel parametro a cui vengono aggiunte le annotazionie viene generato quando il valore specificato per la proprietà di annotazione è maggiore della lunghezza reale della matrice passata.

Esempio

Nel codice riportato di seguito l'avviso viene generato perché la dimensione della matrice è 6, mentre il valore della proprietà 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] );

Per risolvere il problema, accertarsi che la dimensione specificata in ValidElementsConst sia minore o uguale alla dimensione della matrice, come riportato nel codice di esempio seguente:

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