
On Nov 23, 2011, at 1:36 PM, GMan wrote:
I did a search on the mailing list and found nothing, but apologies if I missed it. This bug seems to be new to 1.48. Compiling the following code in MSVC2010:
#include <boost/lexical_cast.hpp> #include <string>
int main() { void* ptr = 0; boost::lexical_cast<std::string>(ptr); }
gcc 4.2.1 complains about this code, too: $ g++ -I /Volumes/EyeFive/Marshall/Sources/boost/trunk junk.cpp/Volumes/EyeFive/Marshall/Sources/boost/trunk/boost/lexical_cast.hpp: In static member function ‘static Target boost::detail::lexical_cast_do_cast<Target, Source>::lexical_cast_impl(const Source&) [with Target = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Source = void*]’: /Volumes/EyeFive/Marshall/Sources/boost/trunk/boost/lexical_cast.hpp:1979: instantiated from ‘Target boost::lexical_cast(const Source&) [with Target = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Source = void*]’ junk.cpp:7: instantiated from here /Volumes/EyeFive/Marshall/Sources/boost/trunk/boost/lexical_cast.hpp:1805: error: invalid application of ‘sizeof’ to a void type Interestingly enough, clang doesn't mind it at all. What do you expect this code to do? -- Marshall Marshall Clow Idio Software <mailto:mclow.lists@gmail.com> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait). -- Yu Suzuki