模板类中的模板函数

我有这个代码:

template <class T> class MyClass { public: template <class U> void foo() { U a; a.invoke(); } }; 

我想要这样的forms:

 template <class T> class MyClass { public: template <class U> void foo(); }; template <class T> /* ????? */ void MyClass<T>::foo() { U a; a.invoke(); } 

我怎么能做到这一点? 什么是正确的语法?

写这个:

 template <class T> template <class U> void MyClass<T>::foo() { /* ... */ }