Freigeben über


C6535

Aktualisiert: November 2007

C6535

Warnung C6535: Der Puffer kann nicht die Größe <n>, größer als max(size_t), aufweisen.

Diese Warnung gibt an, dass die Größe des Puffers size_t nicht überschreiten darf. Der size_t-Typ ist als ganze Zahl ohne Vorzeichen definiert, und seine tatsächliche Größe ist vom System abhängig.

Beispiel

Im folgenden Beispiel wird diese Warnung generiert, weil __int64 für ValidBytes verwendet wird, aber nur der size_t-Typ akzeptabel ist:

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

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

Um diese Warnung zu korrigieren, verwenden Sie für die Größe den korrekten Datentyp, 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);

Die ValidBytes-Eigenschaft kann nicht für einen Funktionszeiger übernommen werden.