Compartir a través de


C6522

Actualización: noviembre 2007

C6522

Advertencia C6522: Especificación de tamaño no válida: la expresión debe ser de tipo integral

Esta advertencia indica que se esperaba un tipo integral, pero se utilizó un tipo de datos incorrecto. Puede utilizar propiedades de anotación que aceptan el tamaño de un parámetro en términos de otro parámetro, pero debe utilizar el tipo de datos correcto. Para obtener una lista de las propiedades de anotación, vea Propiedades de anotación.

Ejemplo

El código siguiente genera esta advertencia:

// 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);

Para corregir esta advertencia, utilice size_t para el tipo de datos del parámetro ValidBytesParam, 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);