Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

Compiler Warning (level 1) C4929

'file': typelibrary contains a union; ignoring the 'embedded_idl' qualifier

The embedded_idl attribute of #import could not be applied to the type library because a union is present in the type library. To resolve this warning, don't use embedded_idl.

The following sample defines a component.

// C4929a.cpp
// compile with: /LD /link /TLBOUT:C4929a.tlb
#include <objbase.h>
[public, switch_type(short)] typedef union _TD_UNION_TYPE   {
      float fM;
      double dMN;
      int x;

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

[object, uuid("00000000-0000-0000-0000-000000000001")]
__interface I {

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

The following sample generates C4929.

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