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 を返して無視することができますが、問題ではありませんが、それは本当に良い解決策ではありません。