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);