Opened 7 years ago

Closed 6 years ago

#11842 closed Bugs (fixed)

VC 2005 warning "conversion from '__w64 int' to streamsize" when lexical_cast from string to double.

Reported by: l_ting@… Owned by: Antony Polukhin
Milestone: Boost 1.64.0 Component: lexical_cast
Version: Boost 1.59.0 Severity: Problem
Keywords: Cc:

Description

Symptom: When cast to double as follows:

double d = boost::lexical_cast<double>("123.4");;

boost 1.59.0 has the following warning when compile on Visual studio 2005 platform under Unicode.

1>c:\boost-v1.59.0\include\boost-1_59\boost\lexical_cast\detail\converter_lexical_streams.hpp(587) : warning C4244: 'argument' : conversion from 'w64 int' to 'boost::detail::basic_pointerbuf<charT,BufferT>::streamsize', possible loss of data

Fix: Change line 586@ boost\lexical_cast\detail\converter_lexical_streams.hpp

From: buf.setbuf(const_cast<CharT*>(start), finish - start); To: buf.setbuf(const_cast<CharT*>(start), static_cast<std::streamsize>(finish - start));

Please review. Thanks

Ting

Change History (2)

comment:1 by Antony Polukhin, 6 years ago

Milestone: To Be DeterminedBoost 1.64.0
Status: newassigned

Fixed in d53933cd develop branch. Will be merged to master as soon as all the tests will cycle.

comment:2 by Antony Polukhin, 6 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.