nodejs:没有返回值的函数模​​板

我遵循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] 

我真的需要返回值吗? 我的意思是我coud返回null并忽略它,不是一个问题,但那不是一个很好的解决scheme。

错误是因为FunctionTemplate::New()需要一个InvocationCallback ,它具有Handle<Value>returntypes。

所以,你将不得不return一些东西,但它可以简单地是Undefined()

 Handle<Value> MyObject::something(const Arguments& args) { HandleScope scope; return scope.Close(Undefined()); } 

这使得它相当于:

 function something() {} 

其中有一个隐含的return; (或return undefined; )。