C++ boost python无法识别多重继承

C++ boost python无法识别多重继承,c++,multiple-inheritance,boost-python,C++,Multiple Inheritance,Boost Python,我对c++类进行了多重继承,如下所示: struct RefCounterBase { virtual ~RefCounterBase(){} .... }; struct A : public virtual RefCounterBase{ virtual void method_a(){...} }; struct B : public virtual RefCounterBase{ virtual void method_b(){...} }; class Con

我对c++类进行了多重继承,如下所示:

struct RefCounterBase
{
    virtual ~RefCounterBase(){}
 ....
};
struct A : public virtual RefCounterBase{
    virtual void method_a(){...}
};
struct B : public virtual RefCounterBase{
    virtual void method_b(){...}
};
class Concrete : public A, public B{
    virtual void method_concrete(){...}
};
'A' object has no attribute 'method_b'
以及一些基于继承
RefCounterBase

template <class T>
struct SmartPtr{
 ...
}
看起来我的问题与上面描述的差不多,但我无法按建议的方式解决

更新:我添加了诊断打印,以确定从工厂返回的结果-结果类型为
A
,并且

type(a_inst).mro()
返回
[,]
-什么意思是boost在编译时不能解析正确的信息?就目前所介绍的内容而言,我不清楚为什么一个C++运行时类型为
a
的对象会有
method\u b()
type(a_inst).mro()