Hi everyone, Here's the offending code: class X { int m; public: X(type i) : m(i) { } enum type { one, two, three }; }; Aww, gee... the compiler doesn't like it. (The above code causes GCC 3.1 to SEGV! GCC 3.3.1 merely complains.) When it hits the constructor, it doesn't know what the heck "type" is. Is there a forward declaration? Any proper C++ way to use the enum "type" before the full declaration of enum "type"? Thanks, --Eljay