C6518
Aviso C6518: conflito de anotação: WriteableElementsConst e WriteableBytesConst não podem ser especificada de buffers que não são graváveis
Este aviso indica que há um conflito entre Access valor da propriedade e uma propriedade gravável. Normalmente, isso indica que uma propriedade gravável não tem acesso de gravação para o parâmetro sendo anotado.
Exemplo
O código a seguir gera este aviso porque o Access propriedade não permite acesso de gravação:
// 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, conforme mostrado no 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);