
*Summary*: It seems that function_template.hpp needs "boost::" in front of mem_fn in two spots so as not to be ambiguous with std::mem_fn on compilers that have std::mem_fn. (mem_fn appears in that file 4 times; two spots already use fully-qualified "boost::mem_fn".) I entered this at https://svn.boost.org/trac/boost/ticket/4073, but just wondered what the process is for having this fix committed to boost repository. **Example**: Here's a reproducible example that won't compile in Visual Studio 2010 (produces an "ambiguous call to overloaded function" error regarding mem_fn - could be boost::mem_fn or could be std::mem_fn) but that compiles fine in other compilers that don't have an std::mem_fn: #include<boost/function.hpp> #include<string> class PrimitiveBuilder { public: bool someFunction( std::string& token ); void registerSomeFunction() { mPrimitiveFunctor =&PrimitiveBuilder::someFunction; // ambiguity error is here } private: typedef boost::function<bool (PrimitiveBuilder*, std::string& token)> PrimitiveFunctor; PrimitiveFunctor mPrimitiveFunctor; }; The above code compiles and works fine in VS 2010 once "boost::" is added to mem_fn in function_template.hpp. I look forward to hearing your thoughts. Thanks! -- Conrad