C++ でコールバックを実行しようとしています (C++ は node.js プログラムの一部として実行されています)。コールバックはサード パーティのライブラリに対するもので、渡すデータがある場合にコールバックを呼び出します。
私が抱えているように見える問題は、変数の型にあります:
static void sensorEventCallback(const char *protocol, const char *model,
int id, int dataType, const char *value, int timestamp,
int callbackId, void *context)
{
//process the data here
}
Handle<Value> sensorEvents( const Arguments& args ) {
HandleScope scope;
...
callbackId = tdRegisterSensorEvent(
reinterpret_cast<TDSensorEvent>(&telldus_v8::sensorEventCallback),
Context::GetCurrent()->Global());
}
私が得ているエラー:
エラー: 引数 '2' を 'int tdRegisterSensorEvent(void ( )(const char , const char*, int, int, const char*, int、int、void*)、void*)'</p>
コンテキストである引数2に苦労しているようです。V8 オブジェクトを tdRegisterSensorEvent が受け入れるオブジェクトに変換する方法について何か考えはありますか?