Compartir a través de


C6521

Advertencia C6521: Especificación de tamaño no válida: el operador * únicamente se puede aplicar a tipos de puntero

Esta advertencia indica un uso incorrecto del operador * en una propiedad de anotación que acepta el tamaño de un parámetro en términos de otro parámetro. Esta advertencia se genera si el tipo del parámetro size no es de puntero y se utiliza un operador * para desreferenciarlo. Sin embargo, puede utilizar el operador * si el parámetro size se pasa como tipo de puntero.

Ejemplo

El código siguiente genera esta advertencia:

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

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

Para corregir esta advertencia, elimine el operador * del valor de la propiedad WritableElements o pase un puntero a size_t. El código siguiente utiliza size_t *c:

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

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

Vea también

Otros recursos

Propiedades de anotación