Hi, the following Code doesn't compile: class Base; template<typename Type> inline Base& operator<<(Base& rConfiguration, Type const& rType) { return rConfiguration; } template<typename Type> inline Base const& operator>>(Base const& rConfiguration, Type& rType) { return rConfiguration; } struct QSizePolicy { enum { HSize = 6, HMask = 0x3f, VMask = HMask << HSize }; enum SizeType { Fixed = 0 }; SizeType verData() const { return (SizeType)( (data & VMask) >> HSize ); } void setVerData( SizeType d ) { data = (unsigned int)(data & ~(HMask << HSize)) | (d << HSize); } unsigned int data; }; It compiles with g++ < 4.0. Cheers, André
-- Summary: error: 'QSizePolicy::<anonymous enum>' uses anonymous type Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: Woebbeking at web dot de CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19404