我已经创建了一个类,我想将其发送到python。 我尝试在函数GETDATAATESTOR中创建一个Py::Cub C++实例,并使用pyBund11i模块将其传递给Python。尝试下面的代码时,我得到以下错误消息:
TypeError: Unable to convert function return value to a Python type! The signature was
() -> DLTensor
如能就如何解决此问题提供任何指导,将不胜感激
我的代码如下:
class DLTensor{
public:
double* data;
int size;
DLTensor():data{new double[10]},size{10}{}
};
py::capsule getDataTensor() {
std::unique_ptr<DLTensor> dlptr =std::unique_ptr<DLTensor>(new DLTensor());
auto pybind_capsule= py::capsule(&dlptr,"DLTensorData",nullptr);
return pybind_capsule;
}
namespace py = pybind11;
PYBIND11_MODULE(DBDLTensor, m) {
m.def("getDataTesor", getDataTensor);
}
我设法让代码正常工作,所以我决定发布我的方法。
在PYBIND11_模块中,我缺少一个py:class_uu定义,在将结果返回给python时,我缺少一个符号and
请参阅下面的工作代码:
相关问题 更多 >
编程相关推荐