我有一个简单的类,它使用Poco Timer:
MyClass::MyClass(){
Timer timer(250,5000);
TimerCallback<MyClass> callback(*this, &MyClass::onTimer);
timer.start(callback);
}
MyClass::onTimer(){
cout <<"Tick"<<endl;
}
显然,回调初始化的代码不正确。使用 TimerCallback 从同一类 (this( 中调用函数的正确方法是什么?
您可以使用Timer
作为MyClass
的成员:
MyClass {
//...
Timer timer;
};
然后在初始化列表中构造timer
对象以设置Timer
ctor 的间隔
MyClass::MyClass() : timer(250,5000) { // <--
TimerCallback<MyClass> callback(*this, &MyClass::onTimer);
timer.start(callback);
}
或使用setPeriodicInterval
和setStartInterval
MyClass::MyClass() {
timer.setStartInterval(500);
timer.setPeriodicInterval(2500);
TimerCallback<MyClass> callback(*this, &MyClass::onTimer);
timer.start(callback);
}