C6506
Aktualisiert: November 2007
C6506
Warnung C6506: Ungültige Anmerkung: Die <Name>-Eigenschaft darf nur für Werte des Zeigertyps oder für Arraytypen verwendet werden.
Diese Warnung gibt an, dass eine Eigenschaft für einen Typ verwendet wird, bei dem es sich nicht um einen Zeiger- oder Arraytyp handelt. Die Access-Eigenschaft, die Tainted-Eigenschaft und die Valid-Eigenschaft können für alle Datentypen verwendet werden. Andere Eigenschaften, z. B. ValidBytesConst, ValidElementsConst, ElementSize und NullTerminted, unterstützen Zeigertypen, Zeiger-auf-Member-Typen und Arraytypen. Eine vollständige Liste der Eigenschaften und unterstützten Datentypen finden Sie unter Anmerkungseigenschaften.
Beispiel
Der folgende Code generiert diese Warnung:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidElementsConst=4)] int x);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(ValidElementsConst=4)] int x);
Um diese Warnung zu korrigieren, verwenden Sie einen Zeiger- oder Arraytyp, wie im folgenden Beispielcode veranschaulicht:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidElementsConst=4)] int *px);
- or -
void f([SA_Pre(ValidElementsConst=4)] int px[]);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(ValidElementsConst=4)] int *px);
- or -
void f([Pre(ValidElementsConst=4)] int px[]);