Partager via


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

Voir aussi

Autres ressources

Propriétés d'annotation