c++中由于函数调用时隐式增加了this指针,所以在callback调用时导致参数个数不一致而出错。
成员函数作为回调,可以采用static的方式传递。因为static没有使用this。
由于使用static所以在回调函数中
不能访问类的非static成员,所以需要为类增加一个指向自身的指针。
如:
1
static IMainLoop* pThis;//指向自身的指针,因为static不能访问非静态变量,所以通过本指针调用非静态变量。
注意使用这个指针前需要
全局初始化。
格式为:类型 限定符::成员=值
如:
1
IMainLoop* BasicMainLoop::pThis =0;//需要全局定义以后才能使用静态成员
posted on 2009-11-22 23:17
纳兰伴月 阅读(785)
评论(0) 编辑 收藏 引用 所属分类:
c++ 技巧