C6535
Aggiornamento: novembre 2007
C6535
avviso C6535: il buffer non può avere la dimensione <n>, superiore a max(size_t)
Questo avviso indica che la dimensione del buffer non può essere superiore a size_t. Il tipo size_t viene definito come integer senza segno e l'effettiva dimensione dipende dal sistema.
Esempio
Nell'esempio di codice seguente viene generato questo avviso perché __int64 è utilizzato per ValidBytes che può accettare solo il tipo 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);
Per risolvere il problema, utilizzare il tipo di dati corretto per la dimensione, come illustrato nell'esempio di codice seguente:
// 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);
Non è possibile applicare la proprietà ValidBytes a un puntatore a una funzione.