Partilhar via


C6526

Aviso C6526 - especificação de dimensionar inválido: a expressão deve ser do tipo matriz ou de ponteiro

Este aviso indica que um tipo de dados incorreto é usado para especificar um valor da propriedade.Uma propriedade pode oferecer suporte a todos os tipos de dados ou um subconjunto deles.Nesse caso, o valor especificado para a propriedade deve ser uma matriz ou um tipo de ponteiro.Para obter uma lista de propriedades de anotação, consulte Propriedades de anotação.

Exemplo

O código a seguir gera este aviso porque o valor para WritableElementsLenght deve ser especificado usando uma matriz ou um tipo de ponteiro:

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

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

Para corrigir esse aviso, o código a seguir define o valor de WritableELementsLength como um tipo de ponteiro.Especificando uma matriz ou um tipo de ponteiro, você está indicando que o comprimento de char * ps é o mesmo que o comprimento de char * pt.

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElementsLength="pt")] char *ps, char *pt);

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