我有以下结构:
struct DataStruct {
enum { ID = importantData };
int data1;
int data2;
}
我将如何绑定匿名枚举?我在下面有我当前的绑定,但到目前为止我只是跳过枚举。
py::class_<DataStruct>(m, "DataStruct")
.def(py::init<>())
.def_readwrite("data1", &DataStruct::data1)
.def_readwrite("data2", &DataStruct::data2);
请注意,此结构将用作也通过 pybind11 绑定到 python 的函数的输入,因此目标更重要的是能够在 Python 中创建对象,然后将其传递给绑定在 python 中的 C++ 函数,而不是就是严格读取struct的内容。
答案 0 :(得分:0)
根据 docs,将其定义为:
py::class_<DataStruct> data_struct(m, "DataStruct");
data_struct.def(py::init<>())
.def_readwrite("data1", &DataStruct::data1)
.def_readwrite("data2", &DataStruct::data2);
py::enum_<DataStruct::DataStructEnum>(data_struct, "DataStructEnum")
.value("ID", DataStruct::DataStructEnum::ID)
.export_values();