Compartir a través de


C6535

Actualización: noviembre 2007

C6535

Advertencia C6535: El búfer no puede ser de tipo <n>, mayor que size_t

Esta advertencia indica que el tamaño del búfer no puede ser mayor que size_t. El tipo size_t se define como un entero sin signo y su tamaño real depende del sistema.

Ejemplo

El código de ejemplo siguiente genera esta advertencia porque se utiliza __int64 para ValidBytes que sólo puede aceptar el 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);

Para corregir esta advertencia, utilice el tipo de datos correcto para el tamaño, como se muestra en el código de ejemplo siguiente:

// 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 propiedad ValidBytes no se puede aplicar a un puntero de función.