将C++枚举转换为Python整数
我有一个Python的封装,用来调用一个C++的函数,这个函数会返回一个枚举值。
当我执行下面这行代码时:
returnValue = mylibrary_py.getRole() # 这行代码会返回一个枚举值
我在加载我的网页时遇到了以下错误:
No to_python (by-value) converter found for C++ type: mynamespace::MyRole
我该怎么解决这个问题呢??
2 个回答
0
找到将枚举类型暴露给Python的方法,具体可以参考以下链接:从C++到Python的枚举
0
Python的包装器是怎么生成的呢?枚举(Enum)会自动转换成int
(还有其他整数类型),所以这个Python的包装器一定做了一些特别的处理,才能防止这种情况发生。