Partager via


C6516

avertissement C6516 : annotation non valide : aucune propriété n'est spécifiée pour l'attribut <nom>

[!REMARQUE]

Cet avertissement se produit uniquement dans le code qui utilise une version obsolète du langage d'annotation du code source (SAL).Nous vous recommandons de porter votre code pour utiliser la version la plus récente du SAL.Pour plus d’informations, consultez Utilisation d'annotations SAL pour réduire les défauts du code C/C++.

Cet avertissement indique qu'aucune propriété n'a été spécifiée dans l'attribut ou que la propriété spécifiée n'est pas valide ; par conséquent, l'attribut ne peut pas être considéré comme terminé.

Exemple

Le code suivant génère cet avertissement car Deref=1 spécifie uniquement le niveau d'indirection, mais ces informations à elles seules ne sont pas utiles à l'outil d'analyse :

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

Pour corriger cet avertissement, une autre propriété, par exemple Access, est requise pour indiquer à l'outil d'analyse les éléments à appliquer sur les éléments non référencés.Le code suivant génère cet avertissement :

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