Hi John, oh, thanks i thought i simplified as much as i can. But i guess i was wrong. Maybe i shouldn't simplify that much. My the real problem occurs when using 2 recurring templates like this: ----------------- struct a; struct b; struct a { template<int i> struct impl : public b::template impl<i> {}; }; struct b { template<int i> struct impl : public a::template impl<i-1> {}; }; ----------------- but I know i can be happy by rewriting it to: ----------------- struct a; struct b; struct a { template<int i> struct impl; }; struct b { template<int i> struct impl; }; template<int i> struct a::impl : public b::template impl<i> {}; template<int i> struct b::impl : public a::template impl<i-1> {}; ----------------- But the question still remains, why doesn't it compile. Can you name something ? Regards, Steven On 9/26/06, John (Eljay) Love-Jensen <eljay@xxxxxxxxx> wrote:
Hi Steven, It does not compile for the same reason this does not compile: ----------------- struct b; struct a : public b {}; struct b {}; ----------------- HTH, --Eljay