C6504
Mise à jour : novembre 2007
C6504
Avertissement C6504 : Annotation non valide : la propriété peut uniquement être employée dans des valeurs de type pointeur, pointeur vers membre ou tableau
Cet avertissement indique l'utilisation d'une propriété sur un type de données incompatible. Pour plus d'informations sur les types de données pris en charge par les propriétés, consultez Propriétés d'annotation.
Exemple
Le code suivant génère cet avertissement car la propriété Null ne peut pas être utilisée sur le type de données char. Cela s'explique par le fait que Deref=1 fait référence aux caractères, mais pas le pointeur aux caractères :
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Null=SA_Yes)] char* pc);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1, Null=Yes)] char* pc);
Pour corriger cet avertissement, supprimez Deref=1, comme indiqué dans l'exemple de code suivant :
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Null=SA_Yes)] char* pc);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Null=Yes)] char *pc);
Le code défaillant indiqué précédemment génère également l'avertissement C6516 car des conflits de propriété ont provoqué une annotation non valide.