Представляете, GCC не умеет компилировать вот такую элементарщину: template<class A, int B> class ClassOne: Видимо, он пытается развернуть ClassThree<A, B>, ещё не зная значения этих A и B. Вот если ClassThree можно задать для конкретных A и B, то его ещё можно уговорить, соорудив что-то типа typedef ClassThreeF2 ClassThree<float, 2> и потом подсунуть этот ClassThreeF2 в объявление ClassOne.
Tags: Программирование.
Comments:
Comment from: user1 [Visitor]
Там точно угловыя скобочки не склеились? А то ведь за ним вправо подвигать (и обломаться ) не заржавеет - аргумент 2 инвалид и все. У мене 3.4.5 из мингва вполне себе компилит и чего-то пишет.
template class ClassTwo { public: ClassTwo(){printf("bork\n");} }; template class ClassThree { }; template class ClassOne: public ClassTwo { }; ClassOne boo;
Comment from: S.A.G.e [Member]
К сожалению, что было в угловых скобочках, не запостилось, поэтому мысль не понятна. <...> должно работать.
Comment from: S.A.G.e [Member]
Мне ещё советовали попробовать пометить параметры шаблона typename, но я пока забил на этой теме и так и не сделал до сих пор.
Leave a comment:Archives
|