Template function inside template class
I have this code:
template <class T>
class MyClass {
public:
template <class U>
void foo() {
U a;
a.invoke();
}
};
I want it in this form:
template <class T>
class MyClass {
public:
template <class U>
void foo();
};
template <class T> /* ????? */
void MyClass<T>::foo() {
U a;
a.invoke();
}
How I can to do this? What is the right syntax?
Solution 1:
Write this:
template <class T>
template <class U>
void MyClass<T>::foo() { /* ... */ }