2

这是我的问题:

我有两节课

class A
{
A();
virtual void hello() = 0;
}

和第二个类,它在其构造函数中将该类作为参数

class B
{
B(const A var);
...
}

对于 ai 类,可以使用文档中描述的蹦床类。如果我尝试为第二个类创建绑定,则会收到以下编译错误:

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>());
}

我怎样才能传递这样的论点?

谢谢!

4

1 回答 1

0

B 签名无效 - 抽象类不能被实例化和按值传递。

很可能应该是

void B(const A*);
于 2017-10-02T14:37:32.317 回答