【发布时间】:2010-12-07 00:21:15
【问题描述】:
我有一个如下所示的静态成员函数:
void whackamole_window::showmole(void *){
if (mtime == 0) {
Fl::remove_timeout(whackamole_window::showmole);
}
else {
//...
m(Point(randx*50+25,randy*50+25),randval),
mb(Point(randx*50,randy*50),50,50,"1",cb_addscore)
Fl::check();
Fl::redraw();
mtime -= 3;
Fl::repeat_timeout(3, whackamole_window::showmole);
return;
}
}
类中的成员函数定义如下
static void showmole(void*);
由于静态成员无法访问该类的任何其他成员(其他静态成员除外),我收到以下错误:
mole111j.cpp:176: 无效使用 成员
whackamole_window::m' in static member function mole111j.cpp:177: invalid use of memberwhackamole_window::mb' 在 静态成员函数
如果我尝试使函数非静态,计时器似乎不起作用。那么我该如何解决这个问题并使用计时器访问 m 和 mb 成员?
【问题讨论】: