C6500
警告 C6500: 無効な注釈です: <名前> プロパティの値は無効です
[!メモ]
この警告は、ソース・コードの注釈言語 (SAL) の使用されていないバージョンを使用するコードにのみ発生します。これは、SAL の最新バージョンを使用するようにコードを移植することをお勧めします。詳細については、「SAL 注釈を使って C/C++ のコード障害を減らす方法」を参照してください。
この警告は、注釈で使用されているプロパティ値が無効であることを示します。たとえば、Deref プロパティで逆参照の不適切なレベルが使用された場合や、ElementSize のようなプロパティに size_t よりも大きい定数値を使用した場合に発生します。
使用例
次のコードでは、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 条件の両方に対して生成されます。