Condividi tramite


C6526

Aggiornamento: novembre 2007

C6526

avviso C6526: specifica di dimensione non valida: l'espressione deve essere di tipo puntatore o matrice

L'avviso indica che per specificare un valore di proprietà è stato utilizzato un tipo di dati non corretto. Una proprietà potrebbe supportare tutti i tipi di dati o un sottoinsieme di essi. In tal caso, il valore specificato per la proprietà deve essere una matrice o un tipo puntatore. Per un elenco di proprietà di annotazione, vedere Proprietà di annotazione.

Esempio

Nel codice riportato di seguito l'avviso viene generato perché il valore di WritableElementsLenght deve essere specificato utilizzando un tipo puntatore o matrice.

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElementsLength="count")] char *ps, size_t count);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElementsLength="count")] char *ps, size_t count);

Per risolvere il problema, nel codice seguente il valore di WritableELementsLength viene impostato su un tipo puntatore. Specificando una matrice o un tipo puntatore si indica che la lunghezza di char *ps è la stessa di char*pt.

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElementsLength="pt")] char *ps, char *pt);

// C++  
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElementsLength="pt")] char *ps, char *pt);