C6518
Aktualisiert: November 2007
C6518
Warnung C6518: Anmerkungskonflikt: WriteableElementsConst und WriteableBytesConst dürfen nicht für Puffer angegeben werden, die nicht geschrieben werden können.
Diese Warnung gibt an, dass ein Konflikt zwischen dem Access-Eigenschaftenwert und einer schreibbaren Eigenschaft besteht. Gewöhnlich bedeutet dies, dass eine schreibbare Eigenschaft nicht über Schreibzugriff auf den Parameter verfügt, dem eine Anmerkung hinzugefügt wird.
Beispiel
Im folgenden Code wird diese Warnung generiert, da die Access-Eigenschaft keinen Schreibzugriff zulässt:
// 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);
Um diese Warnung zu korrigieren, lassen Sie Schreibzugriff auf den Parameter zu, wie im folgenden Code gezeigt:
// 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);