[英]How to converter std::string* in boost.python?
如何在boost.python中转换std :: string *?我必须在python中处理一些c ++数据,数据可能很大,所以我返回了一个指向python的指针。 但是有一些错误。
#include <boost/python.hpp>
#include <string>
class A {
public:
A() {
data="342342fgsf";
ss=&data;
}
std::string *ss;
std::string data;
};
BOOST_PYTHON_MODULE(ctopy)
{
using namespace boost::python;
class_<A> ("A",init<>())
.add_property(ss,&A::ss)
;
}
import ctopy
t1=ctopy.A()
print t1.ss #error.TypeError:No to_python (by-value) converter found for c++ type:std::string*
您不能只传递指针。 使用pointer_wrapper
: http : //www.boost.org/doc/libs/1_53_0/libs/python/doc/v2/ptr.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.