Avertissement du compilateur (niveau 1) C4929
'file' : typelibrary contient une union ; ignorer le qualificateur « embedded_idl »
Impossible d’appliquer l’attribut embedded_idl de #import à la bibliothèque de types, car une union est présente dans la bibliothèque de types. Pour résoudre cet avertissement, n’utilisez pas embedded_idl.
Exemples
L’exemple suivant définit un composant.
// 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; }
};
L’exemple suivant génère l’erreur C4929.
// C4929b.cpp
// compile with: /c /W1
#import "C4929a.tlb" embedded_idl // C4929
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour