Advertencia C6522
Especificación de tamaño no válida: la expresión debe ser de tipo entero: anotación 'anotación' en la función 'function' 'parameter'
Nota:
Esta advertencia solo se produce en el código que usa una versión en desuso del lenguaje de anotación de código fuente (SAL). Se recomienda realizar la portabilidad del código para usar la versión más reciente de SAL. Para más información, consulte Uso de anotaciones SAL para reducir los defectos en el código de C/C++.
Comentarios
Esta advertencia indica que se esperaba un tipo entero, pero se usó un tipo de datos incorrecto. Puede usar propiedades de anotación que acepten el tamaño de un parámetro en términos de otro parámetro, pero debe usar el tipo de datos correcto. Para obtener una lista de las propiedades de anotación, vea Uso de anotaciones SAL para reducir los defectos de código.
Nombre del análisis de código: INVALID_SIZE_STRING_TYPE
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, use size_t
para el tipo de datos del parámetro ValidBytesParam
, tal 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);
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de