0

コールバックのプロトタイプを次のように作成しました。

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..)}' に変換できません

登録コールバックを有効にするにはどうすればよいですか?

4

1 に答える 1