------- Comment #4 from b0ntrict0r at yandex dot ru 2009-08-10 14:16 ------- Thank you for your explanation.
(In reply to comment #2) > The errors for lines 9 and 15 relate to the duplicate declaration of a member > with the name 'number', whereas the error on line 4 refers to the invalid > member initializer for 'number'. Those are separate errors. Those are seperate errors of course. I've meant that when compiler already discovered that there is a conflict between number and number() it looks like it's keeping on emitting errors on every occurence of symbol that becoms a source of that conflict. In fact GCC found out that it is able to create nor property number nor member number(); later compiler descried a reference to a variable that is not exist (because it killed this variable later) and omitted another error. I agree that compiler exhibits its strict behaviour there but I'm not shure is it good for non-pedantic mode. Anyway I'm not familiar with internals, principles and organization of compilers, so I can be badly mistaken for my proposition. (In reply to comment #2) > Huh? The errors are the same except for swapping which declaration is treated > as the duplicate and which as the previous declaration, and that's because you > swappged the order. What did you expect? Why is it more unclear? I expected a different order of error messages. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41002