I forgot to say 'thanks James', thanks.

Well, spurred on by the whimsy that I need a solution to the problem (however 
dolorous), I experimented. I've commented most everything at least once and the 
net effect is that only the 'operator<<' gets a nasty message. I've checked the 
include files that I've written and they all seem clean of heresies. The 
'operator>>' files are unaffected, and with them gone, I still get an error on 
the 'operator<<' function.

The only thing that I can think of, and I think it remote, is that the 
functions refer to a public structure internal to a class. The 'operator>>' 
functions refer to their respective classes. Again, I've removed all of my 
friends but one 'operator<<' and this gets the error.

Now I think I know C++ (although, to be honest, I have strong, personal, 
doubts) and I can't think what I missed.

However, the initial statement still holds, the second diagnostic messages adds 
no clarity and seems redundant. Further, if there was a cause of conflict with 
a redefinition, it would be useful to include the original conflicting 
declaration. Perhaps something like:

<><line no>: error: redefinition of function at <><line no> illegal.
             note: istream& operator>> (bool& val );
                   istream& operator>> (short& val );
                        o o o

the note: stuff is from cplusplus.com @ 
     http://cplusplus.com/reference/iostream/istream/operator%3E%3E/

So, a concrete suggestion at to messaging and an individual first, a puzzler. I 
really need help on the puzzler.

thanks
art

Reply via email to