Partager via


C6522

avertissement C6522 : spécification de taille non valide : l'expression doit être de type intégral

Cet avertissement indique qu'un type intégral était attendu, mais un type de données incorrect a été utilisé. Vous pouvez utiliser des propriétés d'annotation qui acceptent la taille d'un paramètre pour un autre paramètre, mais vous devez utiliser le type de données correct. Pour obtenir la liste des propriétés d'annotation, consultez Propriétés d'annotation.

Exemple

Le code suivant génère cet avertissement :

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

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

Pour corriger cet avertissement, utilisez size_t pour le type de données du paramètre ValidBytesParam, comme indiqué dans le code suivant :

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

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