模板类中的模板函数

我有这个密码:

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

我想要这种形式:

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


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

我该怎么做? 正确的语法是什么?

61525 次浏览

这样写:

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