共用方式為


C6535

警告 C6535: 緩衝區不可為大小 <n>,也不可大於 max(size_t)

這則警告指出緩衝區的大小不得大於 size_t。 型別 size_t 已定義為不帶正負號的整數 (Unsigned Integer),且其實際大小會與系統相關。

範例

下列的範例程式碼會產生這則警告,原因在於 __int64 是用於僅能接受 size_t 型別的 ValidBytes

// 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);

若要更正這則警告,請使用可用於大小的正確資料型別,如下列的範例程式碼所示:

// 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);

ValidBytes 屬性 (Property) 無法套用至函式指標。