Condividi tramite


C6516

avviso C6516: annotazione non valida: nessuna proprietà specificata per l'attributo <nome>

L'avviso indica che nell'attributo non è stata specificata alcuna proprietà o che la proprietà specificata non è valida; pertanto, l'attributo non può essere considerato completo.

Esempio

Nel codice seguente l'avviso viene generato perché Deref=1 specifica solo il livello di riferimento indiretto, ma queste informazioni da sole non supportano lo strumento di analisi:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1)] char* pc);

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

Per risolvere questo problema, è necessaria un'altra proprietà, ad esempio Access, per indicare allo strumento di analisi quanto è necessario applicare agli elementi senza riferimenti. Il codice seguente risolve il problema:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Access=SA_Read)] char* pc); 

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