Freigeben über


C6522

C6522

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

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 ([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 ([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);