
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<std::string, std::vector<int> > map_type; public: typedef void result_type; result_type operator()(std::ostream& os, const map_type::value_type& x) const { os << x.second.size() << '\n'; } }; int main() { typedef std::map<std::string, std::vector<int> > map_type; map_type m; m["Strange?"].push_back(1); m["Strange?"].push_back(2); m["Wierd?"].push_back(3); m["Wierd?"].push_back(4); m["Wierd?"].push_back(5); std::for_each(m.begin(), m.end(), boost::bind(&print_size(), boost::ref(std::cout), _1)); } ------------