class Foo { public: typedef int type1; }; class Bar { private: typedef Foo type2; }; void f(Bar::type2 ) {} // rejected, OK void g(Bar::type2::type1) {} // accepted ???
gcc-3.2.3 and 3.3.6 reject both lines 3.4.5 4.0.3 and CVS snapshot wrongly(?) accept the last line -- Summary: wrongly accepted nested private typedef Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: wouter dot vermaelen at pi dot be http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24782