Partilhar via


C6518

Aviso C6518: conflito de anotação: WriteableElementsConst e WriteableBytesConst não podem ser especificados em buffers que não são graváveis

Este aviso indica que existe um conflito entre Access valor da propriedade e uma propriedade gravável. Isso normalmente indica que uma propriedade gravável não tem acesso de gravar para o parâmetro sendo anotado.

Exemplo

O código a seguir gera este aviso porque o Access propriedade não permite acesso de gravar:

// C
#include <CodeAnalysis\SourceAnnotations.h>

void f([SA_Pre(Deref=1, Access=SA_Read)][SA_Pre(WritableElementsConst =9)] char* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f([Pre(Deref=1, Access=Read)][Pre(WritableElementsConst=9)] char* pc);

Para corrigir esse aviso, permitir o acesso gravável ao parâmetro, sistema autônomo mostra o código a seguir:

// C
#include <CodeAnalysis\SourceAnnotations.h>

void f([SA_Pre(Deref=1, Access=SA_Write)][SA_Pre(WritableElementsConst =9)] char* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f([Pre(Deref=1, Access=Write)][Pre(WritableElementsConst=9)] char* pc);

Consulte também

Outros recursos

Propriedades de anotação