The following code - class class_x { int y; class_x (int y) : class_x::y (y) {}; }; - gives an error "No type named y in class class_x".
assigned to pbrown. He might compute what that code wants to do.
I compute (however you should probably make the constructor public) however fixing this bug is beyond the realm of my comprehension. Work arounds include of course changing the name of the parameter you pass into the constructor, or the name of the member variable. Hopefully this will be fixed in a later release of the egcs compiler, but it is rather messy. Please also report this bug to the egcs team.