C6521
警告 C6521: 無効なサイズ指定です: * 演算子はポインター型にのみ適用できます
この警告は、パラメーターのサイズを別のパラメーターとして受け取る注釈パラメーターで * 演算子が不適切に使用されていることを示します。 サイズのパラメーターがポインター型以外の型で、それを逆参照するために * 演算子が使用されている場合に、この警告が生成されます。 ただし、サイズのパラメーターがポインター型として渡されている場合は、* 演算子を使用できます。
使用例
この警告が発生するコード例を次に示します。
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElements="*c")] char *pc, size_t c);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElements="*c")] char *pc, size_t c);
この警告を修正するには、WritableElements プロパティ値から * 演算子を削除するか、size_t にポインターを渡します。 次に示すコードでは、size_t *c を使用しています。
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElements="*c")] char *pc, size_t *c);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElements="*c")] char *pc, size_t *c);