したがって、現在、次のようなコードがあります。
(注: 実際のコードではありません。簡潔にするために、やや長く複雑なメソッドを省略しただけです。)
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++ であるという保証にはほど遠いことを私は知っています。ラムダ内でテンプレート引数を使用する限り、これに問題はありますか?