0

関数にキャストバックしたいコンテキストオブジェクト(この場合はv8関数)にvoid *を使用するコードと統合していますが、これによりコンパイルエラーが発生します。これをどのようにケースに入れますか?

void callback(void* context) {
    Local<Function> func = static_cast<Local<Function> *>(context);
    func->Call(Context::GetCurrent()->Global(), 1, 0);
}

コールバックを登録するコードは次のとおりです。fnはvoid*として「コールバック」に渡されることに注意してください。

Persistent<Function> fn = Persistent<Function>::New(Handle<Function>::Cast(args[0]));
registerEvent(&callback, /* context*/ &fn);
4

1 に答える 1

1

これを機能させるには、キャストcontextしてポインタ値に割り当てる必要があります。

Local<Function> *func = static_cast<Local<Function> *>(context);
于 2012-12-10T21:24:02.907 に答える