C6518
警告 C6518: 無效的附註: WriteableElementsConst 和 WriteableBytesConst 不可以在不可寫入的緩衝區上指定
這個警告表示 Access 屬性 (Property) 值與可寫入之屬性間發生衝突, 通常會是可寫入之屬性沒有正在為參數加註的寫入權限。
範例
下列程式碼會因為 Access 屬性不允許寫入權限,而產生這個警告:
// 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);
若要更正這個警告,請允許參數的可寫入存取權,如下列程式碼所示:
// 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);