On Nov 30, 2011, at 2:24 PM, Matthias Schabel wrote:
http://www.boost.org/doc/libs/1_48_0/doc/html/boost_units/Examples.html#boos...
Oh, okay, missed that. So I probably don't fully understand what the units library is doing but I find this behavior a bit worrisome. [kbelco@wsblade001 ~]$ cat test3.cpp int main(int, char **) { quantityfahrenheit::temperature f(212 * fahrenheit::temperature()); quantitycelsius::temperature c(f); std::cout << f << std::endl; std::cout << c << std::endl; return 0; } [kbelco@wsblade001 ~]$ ./a.out 212 F 117.778 C If 'f' is 212ºF, why, when converting it to ºC, do I end up at 117 and change? Is this really what we should expect? It seems that this very simple use case produces unexpected, and to a casual user wrong, results. I understand the need for complexity but it seems to show up very early in the user experience. -- Noel