我按照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 并忽略它,这不是问题,但这不是一个很好的解决方案。