压扁:枚举为函数参数

2024-09-28 01:25:47 发布

您现在位置:Python中文网/ 问答频道 /正文

有人知道在c++函数中使用enum作为函数参数并用sqush调用它们的方法吗? 枚举在另一个类和命名空间中声明为函数本身。 以下代码正在使用并在qt中工作:

枚举类:

namespace prem {
     namespace space {

         class Controller : public QObject {
             Q_OBJECT
             Q_ENUMS(ID)

         public:

            enum ID { ONE, TWO, THREE };
          //.... other Stuff

         };
     } 
}

使用类:

^{pr2}$

现在我想在python测试脚本中调用slotHandelID函数。在

controller = findObject("m_controller")
handler = findObject("m_handler")
handler.slotHandelID(controller.ONE)

但我明白了

SyntaxError: No matching 'slotHandelID(int)' overload found: Following overloads are available:
    prem::area::Handler::slotHandelID(undefined)

当我在Controller类中定义slotHandelID(prem::space::Controller::ID id)时,代码可以正常工作。在


Tags: 函数代码idspaceenumpublic函数参数namespace

热门问题