C6506
avviso C6506: annotazione non valida: la proprietà <nome> può essere utilizzata solo con valori di tipo puntatore
L'avviso indica che una proprietà viene utilizzata con un tipo diverso da puntatore o dai tipi di matrice. Le proprietà Access, Tainted e Valid possono essere utilizzate con tutti i tipi di dati. Altre proprietà, quali ValidBytesConst, ValidElementsConst, ElementSize e NullTerminted, supportano valori di puntatore, puntatore a membro o tipi di matrice. Per un elenco completo delle proprietà e dei tipi di dati supportati, vedere Proprietà di annotazione.
Esempio
Il codice seguente genera questo avviso:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidElementsConst=4)] int x);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(ValidElementsConst=4)] int x);
Per risolvere il problema, utilizzare un puntatore o un tipo di matrice, come illustrato nell'esempio di codice seguente:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidElementsConst=4)] int *px);
- or -
void f([SA_Pre(ValidElementsConst=4)] int px[]);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(ValidElementsConst=4)] int *px);
- or -
void f([Pre(ValidElementsConst=4)] int px[]);