Inheritance MIDL中的结构继承
我试图继承和扩展MIDL中定义的结构。我使用了与接口继承相同的语法,即Inheritance MIDL中的结构继承,inheritance,struct,idl,midl,Inheritance,Struct,Idl,Midl,我试图继承和扩展MIDL中定义的结构。我使用了与接口继承相同的语法,即 typedef struct stDBIBinVarDataEx { float x; } MYSTRUCT ; struct struct2 : MYSTRUCT { float y; }; 但是编译器会产生错误。您不能。MIDL不是C++编译器。 您可以将struct2声明为包含MYSTRUCT: struct struct2 { MYSTRUCT mystruct; float
typedef struct stDBIBinVarDataEx
{
float x;
} MYSTRUCT ;
struct struct2 : MYSTRUCT
{
float y;
};
但是编译器会产生错误。您不能。MIDL不是C++编译器。 您可以将struct2声明为包含MYSTRUCT:
struct struct2
{
MYSTRUCT mystruct;
float y;
}
这不是完全相同的事情,但它可能是你将要得到的最接近的东西。这种方法可能很方便,但当你想将更专门的结构传递给接口时,就会出现问题,例如,
Bar([in]MYSTRUCT s)无法使用struct2
-实例调用code>(显然)。