C6522
警告 C6522: 無効なサイズ指定です: 式は整数型でなければなりません
[!メモ]
この警告は、ソース・コードの注釈言語 (SAL) の使用されていないバージョンを使用するコードにのみ発生します。これは、SAL の最新バージョンを使用するようにコードを移植することをお勧めします。詳細については、「SAL 注釈を使って C/C++ のコード障害を減らす方法」を参照してください。
この警告は、整数型が予測されていた場面で、不適切なデータ型が使用されたことを示します。パラメーターのサイズを別のパラメーターとして受け取る注釈プロパティを使用できますが、適切なデータ型を使用する必要があります。注釈プロパティの一覧については、「注釈のプロパティ」を参照してください。
使用例
この警告が発生するコード例を次に示します。
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(ValidBytes="c")] char *pc, double c);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(ValidBytes="c")] char *pc, double c);
この警告を解決するには、次のサンプル コードに示すように、ValidBytesParam パラメーター データ型に size_t を使用します。
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(ValidBytes="c")] char *pc, size_t c);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(ValidBytes="c")] char *pc, size_t c);