如何在python中将结构作为参数发送

时间:2013-11-12 10:11:14

标签: c++ python boost-python

我正在使用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;
   }

1 个答案:

答案 0 :(得分:2)

您必须公开这样的结构示例,然后在python中创建此结构的变量,并将此变量作为参数发送。

Class_<example> (“example”)
.def_readwrite(“m_day” , & example:: day)
.def_readwrite(“m_value” , & example:: m_value)
;

希望这会有所帮助..