Partager via


C6526

avertissement C6526 : spécification de taille non valide : l'expression doit être de type tableau ou pointeur

Cet avertissement indique qu'un type de données incorrect est utilisé pour spécifier une valeur de propriété. Une propriété peut prendre en charge tous les types de données ou un sous-ensemble de ces types. Dans ce cas, la valeur spécifiée pour la propriété doit être un type tableau ou pointeur. Pour obtenir la liste des propriétés d'annotation, consultez Propriétés d'annotation.

Exemple

Le code suivant génère cet avertissement car la valeur de WritableElementsLenght doit être spécifiée à l'aide d'un type tableau ou pointeur :

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

Pour corriger cet avertissement, le code suivant définit la valeur de WritableELementsLength sur un type pointeur. Lorsque vous spécifiez un type de tableau ou de pointeur, vous indiquez que la longueur de char *ps est identique à celle 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);