다음을 통해 공유


컴파일러 경고(수준 1) C4929

'file': typelibrary에 공용 구조체가 포함되어 있습니다. 'embedded_idl' 한정자 무시

형식 라이브러리 에 공용 구조체가 있으므로 #import embedded_idl 특성을 형식 라이브러리에 적용할 수 없습니다. 이 경고를 해결하려면 embedded_idl 사용하지 마세요.

예제

다음 샘플에서는 구성 요소를 정의합니다.

// C4929a.cpp
// compile with: /LD /link /TLBOUT:C4929a.tlb
#include <objbase.h>
[module(name="Test")];
[public, switch_type(short)] typedef union _TD_UNION_TYPE   {
   [case(24)]
      float fM;
   [case(25)]
      double dMN;
   [default]
      int x;
} TD_UNION_TYPE;

[export, public] typedef struct _TDW_TYPE {
   [switch_is(sU)] TD_UNION_TYPE w;
      short sU;
} TD_TYPE;

[object, uuid("00000000-0000-0000-0000-000000000001")]
__interface I {
   HRESULT f(TD_TYPE*);
};

[coclass, uuid("00000000-0000-0000-0000-000000000002")]
struct C : I {
   HRESULT f(TD_TYPE*) { return 0; }
};

다음 샘플에서는 C4929를 생성합니다.

// C4929b.cpp
// compile with: /c /W1
#import "C4929a.tlb" embedded_idl   // C4929