
I use vc 9.0 to compile the following code with boost 1.39.0 and range_ex. #include<string> #include<boost/algorithm/string.hpp> #include<boost/range/algorithm.hpp> int main() { std::string s = "hello"; boost::find_first(s, "lo"); return 0; } The compiler will complain ambiguous call to overload function "find". I found there's also a "find" in boost/range/algorithm.hpp. Even worse when I change the type of "s" to const std::string, the compiler will resolute "find" call as the one in boost/range/algorithm.hpp and reports an error "const_iterator is not a member of std::_String_const_iterator". Now I just indicated the "find" call in boost::find_first explicitly. Is there a better way to solve it? Thanks! S.C. Leung