Posted By: Rat (prilis mnoho her) on 'CZprogram' Title: templaty Date: Sun Jan 18 16:00:52 2004 i Zdar, tak jsem si zacal hrat po dlouhe dobe (kdy jsem je nemel moc v oblibe) s templatama v C++ a narazil jsem na par zajimavych problemu: 1) nechapu vyznam vnorenych templatu, ala: template <T0, template <T1> T2> ... dalsi veci se tykaji pouze MSVC, sic v gcc bez nejmensich problemu chodi: 2) specializace: Mam zakl.: template <T> class A { typedef T &ref; } spec.: template <> class A<void> { typedef void ref; } spec.: template <T> class A<T&> { typedef T &ref; } Posledni radek v MSVC neprojde, da se to napsat nejak jinak? 3) Pozdejsi definice metody: template <T> class B; // jen deklarace template <T> class A { template <T1> B<T1> *f(); }; // nekde definice B... template <T> template <T1> B<T1> *A<T>::f() { return new B<T1>; } Opet posledni radek v MSVC neprojde, jak se da tady jinak nadefinovat metoda mimo puvodni tridu (neprojde ani template <T, T1>. Tot mozna asi vse, zkousel jsem MSVC6 i MSVCNET (ci jak se to zove), druhe melo nevyrazne lepsi vysledky... PS: Jo, obcas (asi skoro vsude) mi tam chybi typename (ty samozrejme v orig. kodu jsou...) Dik za odpoved(i), Krysa rat@atrey.karlin.mff.cuni.cz Jsem Krysa http://atrey.karlin.mff.cuni.cz/~rat/