我正在使用boost python来实现C ++和Python之间的互操作性。我在c ++中有枚举和结构,并且在c ++中具有可以将这些结构作为参数的功能。我可以通过使用boost python在python中访问此函数,但我不知道如何在python中发送结构作为参数。 set是c ++中的函数,可以将结构作为参数。在python中如何将此结构作为参数发送。我能够在python中获得此功能但不能发送send结构作为参数。谢谢你的帮助。
c ++中的结构如下:
enum days
{
friday,
saturday
};
struct example
{
days m_day;
std: string m_value;
};
Class Base
{
public:
void Set(example& Result) = 0;
}
class Derived
{
public:
void Set(example& Result)
{
Result.m_day = friday;
}
答案 0 :(得分:2)
您必须公开这样的结构示例,然后在python中创建此结构的变量,并将此变量作为参数发送。
Class_<example> (“example”)
.def_readwrite(“m_day” , & example:: day)
.def_readwrite(“m_value” , & example:: m_value)
;
希望这会有所帮助..