
JOAQUIN LOPEZ MU?Z <joaquin <at> tid.es> writes:
I'm able to reproduce the behavior you describe and don't have any explanation for it either. But note one thing: the warnings I've got in the second scenario are all C4267 (conversion from size_t to const unsigned int, possible loss of data), which you are not explicitly silencing. If you add the corersponding pragma warning(disable: 4267) at boost/math/policies/error_handling.hpp, compile is clean then in the second scenario as well.
Just my 2 cents,
Joaquín M López Muñoz Telefónica, Investigación y Desarrollo
I get the same as Joaquín, though only if i compile with the "detect 64-bit portability issues" option turned on. In case it's of any interest, i notice that adding a boost::format formatter("%d"); formatter % 42; into the second case causes a bunch of the warnings to disappear, and a boost\spirit\utility\impl\chset\range_run.ipp(69) : warning C4267: '=' : conversion from 'size_t' to 'unsigned int', possible loss of data to appear instead.