Partager via


C6521

Avertissement C6521 : spécification de taille non valide : l'opérateur * peut uniquement être appliqué à des types pointeur

Cet avertissement indique une utilisation incorrecte de l'opérateur * dans une propriété d'annotation qui accepte la taille d'un paramètre pour un autre paramètre. Il est généré si le paramètre de taille est un type autre que pointeur et si un opérateur * est utilisé pour le déréférencer. Toutefois, vous pouvez utiliser l'opérateur * si le paramètre de taille est passé comme un type pointeur.

Exemple

Le code suivant génère cet avertissement :

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElements="*c")] char *pc, size_t c);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElements="*c")] char *pc, size_t c);

Pour corriger cet avertissement, supprimez l'opérateur * de la valeur de propriété WritableElements ou transmettez un pointeur vers size_t. Le code suivant utilise size_t * c :

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElements="*c")] char *pc, size_t *c);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElements="*c")] char *pc, size_t *c); 

Voir aussi

Autres ressources

Propriétés d'annotation