Compartilhar via


C6521

Aviso C6521: especificação de tamanho inválido: * o operador só pode ser aplicado aos tipos de ponteiro

Este aviso indica um uso incorreto do * operador em uma propriedade de anotação que aceita o tamanho de um parâmetro em termos de outro parâmetro. Esse aviso é gerado se o parâmetro size é um tipo não ponteiro e um * a referência é usado. No entanto, você pode usar o * operador se o parâmetro size é passado como o tipo de ponteiro.

Exemplo

O código a seguir gera este aviso:

// 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 corrigir esse aviso, excluir o * operador do valor da propriedade WritableElements ou passar um ponteiro para size_t. O código a seguir usa 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); 

Consulte também

Outros recursos

Propriedades de anotação