1

node.jsの指示に従って、ファクトリ ラップされたオブジェクトを実装しました。
これまでのところ、動作します。しかし、私がうまくいかないのは、戻り値のない関数です。
すなわち:(リンク内の例の拡張)
myObject.h

tpl->PrototypeTemplate()->Set(String::NewSymbol("some"),
  FunctionTemplate::New(something)->GetFunction());

static void something (const v8::Arguments& args);

そしてmyObject.cc

void MyObject::something(const Arguments& args) {
  .. something without return value ...
}

動作しません。なんで?

次のエラーが表示されます。

error: invalid conversion from ‘void (*)(const v8::Arguments&)’ to ‘v8::InvocationCallback {aka v8::Handle<v8::Value> (*)(const v8::Arguments&)}’ [-fpermissive]
error: initializing argument 1 of ‘static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::InvocationCallback, v8::Handle<v8::Value>,  v8::Handle<v8::Signature>)’ [-fpermissive]

本当に戻り値が必要ですか? つまり、null を返して無視することができますが、問題ではありませんが、それは本当に良い解決策ではありません。

4

1 に答える 1