template using declaration (c++0x / c++11)

Hello,

I have a template declaration which I will later specialise for certain arguments:

1
2
template<typename F, typename... Args>
struct invoke;


I then have a traits object where I want to be able to define which template class to use:

1
2
3
4
5
struct traits
{
  template<typename F, typename... Args>
  using call_t = invoke<F, Args...>;
};


I would then use this as such:

new typename traits::template call_t<F, Args...>(_f, std::forward<Args>(args)...);

attempting to compile this yields the following error:

error: expected unqualified-id before ‘using’


Is what I'm trying to do possible?
Any ideas on what this error means and how to fix it?

TIA
Steve
Topic archived. No new replies allowed.