C6535

avertissement C6535 : La taille de la mémoire tampon ne peut pas être <n>, soit supérieure à max(size_t)

Cet avertissement indique que la taille de la mémoire tampon ne peut pas être supérieure à size_t. Le type size_t est défini comme un entier non signé et sa taille réelle dépend du système.

Exemple

L'exemple de code suivant génère cet avertissement parce que __int64 est utilisé pour ValidBytes qui ne peut accepter que le type size_t :

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

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

Pour corriger cet avertissement, utilisez le type de données correct pour la taille, comme le montre l'exemple de 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);

La propriété ValidBytes ne peut pas être appliquée à un pointeur fonction.