Avertissement C6504

Annotation non valide : la propriété peut uniquement être utilisée sur les valeurs de pointeur, de pointeur vers membre ou de type de tableau

Cet avertissement indique l’utilisation d’une annotation SAL spécifique au pointeur sur un type de données non pointeur.

Notes

Pour plus d’informations sur les types de données pris en charge par les propriétés, consultez Propriétés d’annotation.

Nom de l’analyse du code : NULL_ON_NON_POINTER

Exemple

Le code suivant génère l’avertissement C6504. Ce problème provient de l’utilisation du pointeur spécifique _Maybenull_ et _Notnull_ de la référence pt.

class Point
{
    public:
        //  members
};

void f(_Pre_ _Maybenull_ Point& pt)
{
    // code ...
}

void g(_Pre_ _Notnull_ Point& pt)
{
    // code ...
}

Pour corriger cet avertissement, supprimez l’annotation si elle n’est pas logique. Vous pouvez également passer à une annotation applicable au type utilisé ou modifier le type pour qu’il corresponde à l’annotation. Le code suivant corrige cet avertissement en modifiant la première instance d’un pt pointeur et en supprimant la deuxième annotation pour qu’elle corresponde au type de référence.

class Point
{
    public:
        //  members
};

void f(_Pre_ _Maybenull_  Point* pt)
{
    // code ...
}

void g(Point& pt)
{
    // code ...
}

Voir aussi

Propriétés de l’annotation