有人知道使用枚举作为c ++函数中的函数参数的解决方法,并用squish调用它们的函数吗? Enum在其他类和名称空间中声明为函数本身。 以下代码正在使用,可在qt:
中使用Enum-class:
namespace prem {
namespace space {
class Controller : public QObject {
Q_OBJECT
Q_ENUMS(ID)
public:
enum ID { ONE, TWO, THREE };
//.... other Stuff
};
}
}
使用class:
namespace prem {
namespace area {
class Handler: public QObject {
//...... some stuff
public slot:
void slotHandelID(prem::space::Controller::ID id) {
// do some stuff
}
};
}
}
现在我想在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)
当我在slotHandelID(prem::space::Controller::ID id)
类中定义Controller
时,代码运行正常。
答案 0 :(得分:2)
在新的挤压版本6.0中修复了该错误。