Typename keyword is ONLY valid within a template. Your class declaration is not a template. If it compiled before then it shouldn't have. -----Original Message----- From: gcc-help-owner@xxxxxxxxxxx [mailto:gcc-help-owner@xxxxxxxxxxx] On Behalf Of mahmoodn Sent: 14 January, 2008 01:45 To: gcc-help@xxxxxxxxxxx Subject: RE: Please help with these two errors >Why do you have "typename" here? Hi, realy I don't know!! I did not write this code but it could be compiled with previous versions of gcc. shall I remove typename?:confused: John (Eljay) Love-Jensen wrote: > > Hi mahmoodn, > > class Circular_arc_2 : public Vertex_feature_2 > { > virtual typename Vertex_feature_2::Type type () const > { > return (CIRCULAR); > } > } > > Why do you have "typename" here? > > --Eljay > > -- View this message in context: http://www.nabble.com/Please-help-with-these-two-errors-tp14787660p14796132. html Sent from the gcc - Help mailing list archive at Nabble.com.