Compartir a través de


C6518

Actualización: noviembre 2007

C6518

Advertencia C6518: Conflicto de la anotación: WriteableElementsConst y WriteableBytesConst no se pueden especificar en búferes que no son de escritura

Esta advertencia indica que existe un conflicto entre el valor de la propiedad Access y una propiedad de escritura. Normalmente, indica que una propiedad de escritura no tiene acceso de escritura al parámetro que se anota.

Ejemplo

El código siguiente genera esta advertencia porque la propiedad Access no permite el acceso de escritura:

// 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 corregir esta advertencia, permita el acceso de escritura al parámetro, como se muestra en el código siguiente:

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

Vea también

Otros recursos

Propiedades de anotación