diff --git a/include/chaiscript/dispatchkit/bootstrap.hpp b/include/chaiscript/dispatchkit/bootstrap.hpp index aabb2e0..ac1441e 100644 --- a/include/chaiscript/dispatchkit/bootstrap.hpp +++ b/include/chaiscript/dispatchkit/bootstrap.hpp @@ -507,11 +507,11 @@ namespace chaiscript } template - static std::vector do_return_boxed_value_vector(const boost::function &f, + static std::vector do_return_boxed_value_vector(FunctionType f, const Proxy_Function_Base *b) { typedef typename boost::function_types::result_type::type Vector; - Vector v = f(b); + Vector v = (b->*f)(); std::vector vbv; for (typename Vector::const_iterator itr = v.begin(); @@ -527,9 +527,7 @@ namespace chaiscript template static boost::function (const Proxy_Function_Base*)> return_boxed_value_vector(const Function &f) { - typedef typename boost::function_types::result_type::type Vector; - boost::function func(f); - return boost::bind(&do_return_boxed_value_vector, func, _1); + return boost::bind(&do_return_boxed_value_vector, f, _1); } public: