Boost::bind: compiling error from sample code in book
Hi there,
I am testing the following sample code on page 264 of the book "Beyond the
C++ Standard Library" and got an error msg: "result_type' : is not a member
of '`global namespace'' from MSVC 2008 Pro compiler. Can anyone point out
what is wrong with it? Thanks.
------------
#include<iostream>
#include<string>
#include<map>
#include<vector>
#include<algorithm>
#include "boost/bind.hpp"
class print_size {
typedef std::map
Hello,
I am testing the following sample code on page 264 of the book "Beyond the C++ Standard Library" and got an error msg: "result_type' : is not a member of '`global namespace'' from MSVC 2008 Pro compiler. Can anyone point out what is wrong with it? Thanks. std::for_each(m.begin(), m.end(), boost::bind(&print_size(), boost::ref(std::cout), _1));
That should read: std::for_each(m.begin(), m.end(), boost::bind(print_size(), boost::ref(std::cout), _1)); In your code there's an ampersand before print_size() that shouldn't be there. Did it really look like that in the book? Cheers, Bjorn Karlsson www.skeletonsoftware.net
Hello Bjorn,
Oops, I made a typo myself. The code in the book is correct.
Thanks.
Robert
2009/9/2 Björn Karlsson
Hello,
I am testing the following sample code on page 264 of the book "Beyond the C++ Standard Library" and got an error msg: "result_type' : is not a member of '`global namespace'' from MSVC 2008 Pro compiler. Can anyone point out what is wrong with it? Thanks. std::for_each(m.begin(), m.end(), boost::bind(&print_size(), boost::ref(std::cout), _1));
That should read:
std::for_each(m.begin(), m.end(), boost::bind(print_size(), boost::ref(std::cout), _1));
In your code there's an ampersand before print_size() that shouldn't be there. Did it really look like that in the book?
Cheers, Bjorn Karlsson www.skeletonsoftware.net
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
Björn Karlsson
-
Boost lzw