有人知道如何在c++函数中使用枚举作为函数参数,并使用squish调用它们吗?Enum作为函数本身在另一个类和名称空间中声明。以下代码正在使用中,并在qt中工作:
英语课程:
namespace prem {
namespace space {
class Controller : public QObject {
Q_OBJECT
Q_ENUMS(ID)
public:
enum ID { ONE, TWO, THREE };
//.... other Stuff
};
}
}使用类:
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时,代码可以正常工作。
发布于 2016-02-15 11:00:15
在新的压缩版本6.0中,错误被修复了。
https://stackoverflow.com/questions/32376730
复制相似问题