Definir modelos de membro fora de uma classe
No Visual C++.NET 2003 e posterior, é possível definir modelos de membro fora de uma classe, conforme descrito em Modelos de função de membro e Modelos de classe aninhada.
O exemplo a seguir funciona em Visual C++.NET 2003, conforme especificado no padrão:
// defining_member_templates_outside_a_class.cpp
// compile with: /LD
template <class T>
struct S
{
template<class U> void f(U);
};
template<class T> template <class U> void S<T>::f(U)
{ //defined out of line
}