こんにちは私はメンバー関数のコールバックを使用するプログラムに取り組んでいる学生です。私はまさに私が必要としているものであるバインドの使用に出くわしました。私はそれを機能させるのに苦労しています。
以下は、関連するコードとコンパイルエラーです
// this is the API function to register callback
void register_callback_datapoint(void(*)(datapoint_t *datapoint) cb_datapoint )
// this function is my callback
void datapoint_update(datapoint_t* datapoint);
// this code is called in the aggregateThread class
boost::function<void(datapoint_t*)> f;
f = bind(&aggregateThread::datapoint_update, this, std::tr1::placeholders::_1);
register_callback_datapoint(f);
// here is the compile error
cannot convert ‘boost::function<void(datapoint_opaque_t*)>’ to ‘void (*)(datapoint_t*)
{aka void (*)(datapoint_opaque_t*)}’ for argument ‘1’ to ‘void
register_callback_datapoint(void (*)(datapoint_t*))’
誰かがこれを手伝ってくれませんか?ありがとうございました