
Paul: Since you're sharing stories, I once spent 3 weeks with a student on a code that just didn't compute the right expression. The code was doing complicated visibility in 3D computation with lines (lots of the determinants all over the place). The error was caused in some obscure place by: double expression = some_complicated_multi_line_expression() ; + some_more_complicated_multi_line_expression(); That stray ";" was nearly the end of me too. When we found it, I felt what you must have felt with your "<< end;'" typo. Of course, the student didn't use maximum warning level (-W -Wall), otherwise the compiler (g++) would've warned us of "statement has no effect". Morale of the story, for us: "Always write warning-free code". I suspect using more than one compiler might have helped with your diagnostic. Anyways, good for you finding that typo! -- Hervé Brönnimann hervebronnimann@mac.com On Nov 30, 2007, at 9:26 AM, Paul A Bristow wrote:
I have been puzzled by the effect of my mistyping causing this message. [snip] I suspect I may not be first or last person to do this :-)
Could the source file usefully have a comment that says something like " If you get a error "'const_iterator' : is not a member of 'std::ios_base'" here have you typed "end;" somewhere instead of "endl;" " ?
Paul
--- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow@hetp.u-net.com