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) 無法套用至函式指標。