다음을 통해 공유


C6504

경고 C6504: 주석이 잘못되었습니다. 속성은 포인터, 멤버 포인터 또는 배열 형식의 값에만 사용할 수 있습니다.

이 경고는 호환되지 않는 데이터 형식에 속성을 사용했음을 나타냅니다. 속성이 지원하는 데이터 형식에 대한 자세한 내용은 주석 속성을 참조하십시오.

예제

다음 코드에서는 char 데이터 형식에 Null 속성을 사용할 수 없기 때문에 이 경고가 생성됩니다. 이 경고는 Deref=1이 문자에 대한 포인터가 아닌 문자를 참조하기 때문에 발생합니다.

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Null=SA_Yes)] char* pc);

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

void f([Pre(Deref=1, Null=Yes)] char* pc);

이 경고를 해결하려면 다음 샘플 코드에서 볼 수 있는 것처럼 Deref=1을 제거합니다.

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Null=SA_Yes)] char* pc);

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

void f([Pre(Null=Yes)] char *pc); 

앞의 코드에서는 속성 충돌로 인해 잘못된 주석이 지정되기 때문에 C6516 경고도 생성됩니다.