Freigeben über


C6522

Warnung C6522: Ungültige Größenangabe: Der Ausdruck muss einen ganzzahligen Typ aufweisen.

HinweisHinweis

Diese Warnung tritt nur im Code, der eine veraltete Version der Quellcodeanmerkungssprache (SAL) verwendet.Es wird empfohlen, den Code portieren, um die neueste Version des SALZES zu verwenden.Weitere Informationen finden Sie unter Verwenden von SAL-Anmerkungen zum Reduzieren von C/C++-Codefehlern.

Diese Warnung gibt an, dass ein ganzzahliger Typ erwartet wurde, jedoch ein ungültiger Datentyp verwendet wurde.Sie können Anmerkungseigenschaften verwenden, die die Größe eines Parameters in Form eines anderen Parameters annehmen, allerdings müssen Sie den richtigen Datentyp verwenden.Eine Liste mit Anmerkungseigenschaften finden Sie unter Anmerkungseigenschaften.

Beispiel

Der folgende Code generiert diese Warnung:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(ValidBytes="c")] char *pc, double c);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(ValidBytes="c")] char *pc, double c);

Um diese Warnung zu korrigieren, verwenden Sie size_t für den ValidBytesParam-Parameterdatentyp, wie im folgenden Beispielcode veranschaulicht:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(ValidBytes="c")] char *pc, size_t c);

// C++  
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(ValidBytes="c")] char *pc, size_t c);