Freigeben über


C6506

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([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([Pre(ValidElementsConst=4)] int *px);
 - or -
void f([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[]);

Siehe auch

Referenz

C6516