将C++枚举转换为Python整数

0 投票
2 回答
1802 浏览
提问于 2025-04-17 15:45

我有一个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的包装器一定做了一些特别的处理,才能防止这种情况发生。

撰写回答