Condividi tramite


Avviso C6516

Annotazione non valida: nessuna proprietà specificata per l'attributo 'name'

Nota

Questo avviso si verifica solo nel codice che usa una versione deprecata del linguaggio di annotazione del codice sorgente (SAL). È consigliabile convertire il codice per usare la versione più recente di SAL. Per altre informazioni, vedere Uso delle annotazioni SAL per ridurre i difetti del codice C/C++.

Osservazioni:

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

Nome dell'analisi del codice: NO_PROPERTIES_ON_ATTRIBUTE

Esempio

Il codice seguente genera questo avviso perché Deref=1 specifica solo il livello di riferimento indiretto, ma queste informazioni da sole non aiutano 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 correggere l'avviso, è necessaria un'altra proprietà, ad esempio Access, per indicare allo strumento di analisi cosa deve essere applicato agli elementi di cui si fa riferimento. Il codice seguente corregge questo avviso:

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