Nie, to nie to. To JEST blad VC++. Bledem jest to, ze przepuscil niepoprawny kod. Nie mozna zagniezdzac template<class T> w template<class T>. Mozna zagniezdzac template<class U> w template<class T> i wtedy wiadomo o co chodzi. A nawet jesli Twoje deklaracje bylyby poprawne, to w cialach wtedy powinno byc:
template <class T>
template <class T>
void A<T>::N<T>::JakasFunkcja() { ...
co jest oczywiscie bez sensu.
Wywal template<class T> przed deklaracja zagniezdzonej klasy. Ewentualnie w wewn. template zmien typ T na np. U i wtedy w cialach funkcji piszesz:
template <class T>
template <class U>
void A<T>::N<U>::JakasFunkcja() { ...
ale NIE:
template <class T>
void A<T>::N<U>::JakasFunkcja() { ...
i tak tez NIE:
template <class T, class U>
void A<T>::N<U>::JakasFunkcja() { ...
Poza tym VC++ 6 jest dosyc cienki jesli chodzi o spelnianie ISO C++ '98, wiec bardziej zaawansowane struktury z wzorcami moga nie dzialac poprawnie...