如何解决Pybind11:绑定匿名枚举
我有以下结构:
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的内容。
解决方法
根据 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();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。