Możesz przesłać dalej deklarację wewnętrznej klasy szablonu wewnątrz normalnej klasy i użyć zdefiniowanego typu jak dowolnego innego zadeklarowanego typu.Deklaracja przekazywania klasy szablonu zagnieżdżonej w klasie szablonu
class Outer {
template <int N> class Inner;
typedef Inner<0> Inner0;
Inner0* f();
};
template<int N>
class Outer::Inner {};
Teraz, jeśli zewnętrzny sam jest klasą szablonów, czy istnieje sposób na zachowanie deklaracji Innera poza deklaracją Outera? Coś jak:
template<typename T>
class Outer {
template <int N> class Inner;
typedef Inner<0> Inner0;
Inner0* f();
};
template<typename T, int N> //This won't work
class Outer<T>::Inner {};
Czy istnieje poprawna składnia do zadeklarowania Outer z odpowiednimi parametrami szablonu?
O Boże, to było tak oczywiste ... Dzięki za odpowiedź :) – Louen
@Louen Serdecznie zapraszamy. :) –