次の方法で共有


C6516

警告 C6516: 無効な注釈です: <名前> 属性にはプロパティが指定されていません

[!メモ]

この警告は、ソース・コード注釈言語 (SAL) の使用されていないバージョンを使用するコードにのみ発生します。ここでは、SAL の最新バージョンを使用するようにコードを移植することをお勧めします。詳細については、「SAL 注釈を使って C/C++ のコード障害を減らす方法」を参照してください。

この警告は、属性にプロパティが指定されていないか、指定されたプロパティが無効なため、属性が不完全であると見なされていることを示します。

使用例

次に示すコードでは、Deref=1 によって間接レベルのみが指定されており、この情報だけでは分析ツールの役に立たないため、この警告が生成されます。

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1)] char* pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1)] char* pc);

この警告を修正するには、逆参照されたアイテムに何を適用するのかを分析ツールに指定するために、Access などの別のプロパティが必要になります。この警告を修正するコード例を次に示します。

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Access=SA_Read)] char* pc); 

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1, Access=Read)] char* pc);