You can redirect the declaration of the inner class of the template inside the normal class and use a specific type like any other formatted declared type.
class Outer { template <int N> class Inner; typedef Inner<0> Inner0; Inner0* f(); }; template<int N> class Outer::Inner {};
Now, if Outer itself is a template class, is there a way to save an Inner declaration outside of an Outer declaration? Sort of:
template<typename T> class Outer { template <int N> class Inner; typedef Inner<0> Inner0; Inner0* f(); }; template<typename T, int N>
Is there any correct syntax for declaring an Outer with the parameters of the correct template?
Louen source share