
"Dill, John" <john-dill@uiowa.edu> writes:
I am wondering about the use-case of numeric_cast in this sample.
unsigned char uchar_max = std::numeric_limits<unsigned char>::max(); char schar_value = 0;
try { schar_value = boost::numeric_cast<char>( uchar_max ); } catch ( boost::bad_numeric_cast ) { std::cout << "Overflow occurred..." << std::endl; }
When I execute this sample, I don't get the exception. What's the background on this behavior? I'm using gcc 3.3.1.
FWIW, there are known problems with numeric_cast, but a numeric conversion library that replaces the existing implementation has been accepted into Boost. We are just waiting for Fernando Cacciola to check it in. Fernando? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com