On May 17, 2007, at 10:57 PM, Richard B. Kreckel wrote:
Ron Garret wrote:
Like a charm, except for one thing. This code snippet: class out_of_range {}; extern out_of_range range_exception; now results in this error (referring to the second line): error: 'out_of_range' does not name a type This used to work, and if I rename out_of_range to Out_of_range then it works again. So it appears that you made some change to the include file that makes this break, but I can't for the life of me figure out what it might be since nothing even remotely resembling the string "out_of_range" appears anywhere in cln/*.h.
Well, std::out_of_range is an exception type pulled in from the <stdexcept> header via include/cln/number_io.h.
Ah, that would explain it. But why would it say that out_of_range is not a type rather than complain that it is being redefined? (Feel free to treat that as a rhetorical question.) rg