12345678910
template<typename T> struct Outside { struct Nested {}; Nested* f() {} }; template<typename T> Outside<T>::Nested* Outside<T>:: f() {}
1234
template<typename T> typename Outside<T>::Nested* Outside<T>:: f() {}