1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// { dg-do compile { target c++11 } } template<typename F, typename... BoundArgs> class bound_functor { public: typedef typename F::result_type result_type; template<typename... Args> typename F::result_type operator()(Args&... args); }; template<typename F, typename... BoundArgs> template<typename... Args> typename F::result_type bound_functor<F, BoundArgs...>::operator()(Args&... args) { }