C6535
Предупреждение C6535: буфер не может иметь размер <n>, превышающий размер max(size_t).
Это предупреждение означает, что размер буфера не может превышать size_t. Тип size_t определен как целое число без знака, его фактический размер зависит от системы.
Пример
Это предупреждение создается в следующем примере кода, поскольку __int64 используется для ValidBytes, где допустим только тип size_t:
// 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 нельзя применить к указателю функции.