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