这是我的问题:
我有两个班级
class A
{
A();
virtual void hello() = 0;
}
和第二个类,它将此类作为其构造函数中的参数
class B
{
B(const A var);
...
}
对于类a,我可以使用文档中描述的trampolin类。如果我尝试为第二个类创建绑定,我会收到以下编译错误:
error: invalid abstract parameter type
使用以下绑定:
PYBIND11_MODULE(module,m)
{
py::class<A,PyA>(m,"A")
.def(py::init<>());
py::class<B>(m,"B")
.def(py::init<const A>());
}
我怎样才能传递这样的论点?
谢谢!
答案 0 :(得分:0)
B签名无效 - 抽象类无法实例化并按值传递。
最有可能是
void B(const A*);