我是python和boost::python的新手,请原谅我的无知。你知道吗
<>我的代码有一个Python C++交互,它是通过Boosi::Python完成的。 我正在将Python字典引用传递给C++:C++代码:
boost::python::class_<ABC> ("ABC")
.def("set_input",&ABC::set_input)
;
struct ABC {
boost::python::dict* signal_dictionary ;
void insert_into_dict(int key,CellData cell_data) {
if (!signal_dictionary->has_key(key) {
signal_dictionary->operator[](key) = cell_data;
}
}
void set_input(boost::python::dict &signal_dict_t ) {
signal_dictionary = &signal_dict_t;
}
我的想法是把Python DICT的地址传递给C++。在C++中填充数据。并在完成enitre填充后在python中访问它。
函数insert_into_dict被间歇调用,并填充dict中的数据。
但我得到以下错误:
属性错误:'Boost.Python.function函数“对象没有属性”\uem>包含\uem'这来自:signal_dictionary->;has_key(key)。 看起来boost::python将signal\u字典读作boost::python::function,尽管它是boost::python::dict。 是否有任何方法可以将其类型转换为boost::python::dict。你知道吗
提前谢谢!!!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐