Compartilhar via


C6521

Aviso C6521: especificação de dimensionar inválido: * operador somente pode ser aplicado a tipos de ponteiro

Este aviso indica um uso incorreto do * operador em uma propriedade de anotação que aceita o dimensionar de um parâmetro em termos de outro parâmetro.Esse aviso é gerado se o parâmetro dimensionar é um tipo ponteiro não e um * operador é usado para cancelar a referência-lo.No entanto, você pode usar o * operador se o parâmetro dimensionar é passado sistema autônomo 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