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);