C6518
Mise à jour : novembre 2007
C6518
avertissement C6518 : conflit d'annotation : WriteableElementsConst et WriteableBytesConst peuvent ne pas être spécifiées sur les buffers qui ne sont inscriptibles
Cet avertissement indique qu'un conflit existe entre la valeur de propriété Access et une propriété accessible en écriture. En règle générale, il indique qu'une propriété accessible en écriture ne dispose pas d'un accès en écriture au paramètre en cours d'annotation.
Exemple
Le code suivant génère cet avertissement car la propriété Access n'autorise pas un accès en écriture :
// 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);
Pour corriger cet avertissement, autorisez un accès accessible en écriture au paramètre, comme indiqué dans le code suivant :
// 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);