Reputation: 2446
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 can I do this? What is the correct syntax?
Upvotes: 162
Views: 74944
Reputation: 476950
Write this:
template <class T>
template <class U>
void MyClass<T>::foo() { /* ... */ }
Upvotes: 242