Compartilhar via


C6535

Aviso C6535: buffer não pode ser maior que max(size_t) dimensionar <n>,

Este aviso indica que o dimensionar do buffer não pode ter mais de size_t. O tipo de size_t é definido sistema autônomo um inteiro sem sinal e o real dimensionar é dependente do sistema.

Exemplo

Exemplo de código a seguir gera este aviso porque __ int64 é usado para ValidBytes que só pode aceitar size_t tipo:

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

Para corrigir esse aviso, use tipo de dados correto para o dimensionar, conforme mostrado no exemplo de código a seguir:

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

Propriedade ValidBytes não pode ser aplicada a um ponteiro de função.