Condividi tramite


Avviso C6514

Annotazione non valida: il valore della proprietà 'name' supera le dimensioni della matrice

Osservazioni:

Questo avviso indica che un valore della proprietà supera le dimensioni della matrice specificata nel parametro da annotare. Questo avviso si verifica quando il valore specificato per la proprietà di annotazione è maggiore della lunghezza effettiva della matrice passata.

Nome dell'analisi del codice: BUFFER_SIZE_EXCEEDS_ARRAY_SIZE

Esempio

Il codice seguente genera questo avviso perché la dimensione della matrice è 6, ma il valore della ValidElementsConst proprietà è 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 correggere questo avviso, verificare che le dimensioni specificate in ValidElementsConst siano minori o uguali alle dimensioni della matrice, come illustrato nel codice di esempio seguente:

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