Freigeben über


C6526

Aktualisiert: November 2007

C6526

Warnung C6526: Ungültige Größenangabe: Der Ausdruck muss einen Zeiger- oder Arraytyp aufweisen.

Diese Warnung gibt an, dass zum Angeben eines Eigenschaftenwerts ein ungültiger Datentyp verwendet wurde. Eine Eigenschaft kann alle Datentypen oder eine Teilmenge davon unterstützen. In diesem Fall muss der für die Eigenschaft angegebene Wert ein Array- oder Zeigertyp sein. Eine Liste mit Anmerkungseigenschaften finden Sie unter Anmerkungseigenschaften.

Beispiel

Der folgende Code generiert diese Warnung, weil der Wert für WritableElementsLenght mit einem Array- oder Zeigertyp angegeben werden muss:

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

Um diese Warnung zu korrigieren, setzt der folgenden Code den Wert für WritableELementsLength auf einen Zeigertyp fest. Durch Festlegen eines Array- oder Zeigertyps geben Sie an, dass die Länge von char *ps mit der Länge von char*pt identisch ist.

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