Boost logo

Boost Users :

Subject: [Boost-users] [Range.Ex / String.Algo] Ambiguous call to overload function "find"
From: ÁºÉÜ³Ø (shaochiliang_at_[hidden])
Date: 2009-07-02 21:38:46


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



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net