tôi có mã này:Template chức năng bên trong lớp mẫu
template <class T>
class MyClass {
public:
template <class U>
void foo() {
U a;
a.invoke();
}
};
Tôi muốn nó theo hình thức này:
template <class T>
class MyClass {
public:
template <class U>
void foo();
};
template <class T> /* ????? */
void MyClass<T>::foo() {
U a;
a.invoke();
}
Làm thế nào tôi có thể làm điều này? Cú pháp đúng là gì?
Tại sao không chỉ làm chức năng decl bên trong decl lớp (xem http://codepad.org/wxaZOMYW)? Tuy nhiên, bạn không thể di chuyển chức năng thoát khỏi tiêu đề, vì vậy ... – hiobs
@hiobs: FWIW, bạn có thể di chuyển khai báo vào tệp CPP. Điều đó nói rằng, tôi đã chỉ làm điều này một lần để làm một số hackery. Trong trường hợp đó, biết làm thế nào để làm điều này là cần thiết. –