我的回调原型为:
typedef void (*update)(int id,...);
typedef void (*destroy)(int id,...);
typedef void (*create)(int id, update* _update, destroy* _destroy);
而不是创建回调函数:
void updateCB(int id,...){/*Add id to collection*/}
void destroyCB(int id,...){/*Remove id from collection*/}
void createCB(int id,update* _update, destroy* _destroy)
{
//Register Callbacks
*_update = updateCB;
*_destroy = destroyCB;
}
当我注册回调编译器给我错误:
错误:无法将 'ClassName::updateCB' 从类型 'void (ClassName::)(int,...)' 转换为类型 'update {aka void (*)(int..)}'
如何有效注册回调?