다음을 통해 공유


컴파일러 오류 C2786

'type': __uuidof 대한 잘못된 피연산자

__uuidof 연산자는 GUID가 연결된 사용자 정의 형식 또는 이러한 사용자 정의 형식의 개체를 사용합니다. 가능한 원인:

  1. 인수가 사용자 정의 형식이 아닙니다.

  2. __uuidof 인수에서 GUID를 추출할 수 없습니다.

다음 샘플에서는 C2786을 생성합니다.

// C2786.cpp
struct __declspec(uuid("00000000-0000-0000-0000-000000000000")) A {};

int main() {
   __uuidof(int);   // C2786
   __uuidof(int *);   // C2786
   __uuidof(A **);   // C2786

   // no error
   __uuidof(A);
   __uuidof(A *);
   __uuidof(A &);
   __uuidof(A[]);

   int i;
   int *pi;
   A **ppa;

   __uuidof(i);      // C2786
   __uuidof(pi);     // C2786
   __uuidof(ppa);    // C2786
}