所以我目前有一些类似的代码:
(注意:不是实际的代码,只是为了简洁起见,从一个有点冗长和复杂的方法中删减了。)
template<typename ArgT0, typename ArgT1, typename FuncT>
static void addMethod( const std::string& name, FuncT func )
{
Method script_func = [&]( const Arguments& args ) -> Value
{
func(UnsafeAnyCast<ArgT0>(args[0]),UnsafeAnyCast<ArgT1>(args[1]));
return Value::Undefined();
}
_prototype->Set( name, script_func );
}
它在 Visual Studio 2010 中运行良好,但我知道这远不能保证它是符合标准的 C++。就在 lambda 中使用模板参数而言,这有什么问题吗?