次の方法で共有


警告 C6500

無効な注釈: 'name' プロパティの値が無効です

Note

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

解説

この警告は、注釈で使用されるプロパティ値が無効であることを示します。 たとえば、不適切なレベルの逆参照がプロパティでDeref使用されている場合や、次のようなElementSizeプロパティよりもsize_t大きい定数値を使用する場合に発生する可能性があります。

コード分析名: INVALID_ATTRIBUTE_PROPERTY

次のコードでは、正しくないレベルの逆参照が条件で使用されているため、この警告が Pre 生成されます。

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

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f( [Pre( Deref=2, Access=Read )] char buffer[] );

この警告を修正するには、次のサンプル コードに示すように、正しいレベルの逆参照を指定します。

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

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f( [Pre( Deref=1, Access=Read )] char buffer[] );

この警告は、Pre 条件と Post 条件の両方を対象に生成されます。