У меня есть код как показано ниже:
#include<set>
#include<iterator>
std::set<std::string> s1;
std::set<std::string> s2;
std::set<std::string> myresult;
void some_func() {
std::set_difference(s1.begin(), s1.end(), s2.begin(), s2.end(),std::inserter(myresult,myresult.begin()));
}
Это дает мне ошибку компиляции:
/export/SunStudio/SUNWspro/prod/include/CC/Cstd/./algorithm.cc ", строка 2161: Ошибка: перегрузка неоднозначности между" std :: copy <__ rwstd :: __ rb_tree <std :: string, std :: string , __rwstd :: __dentif <std :: string, std :: string>, std :: less , std :: allocator > :: const_iterator, std :: insert_iterator >> (__rwstd :: __rb_tree , std :: less , std :: allocator > :: const_iterator, __rwstd :: __rb_tree , std :: less , std :: allocator > :: const_iterator, std :: insert_iterator >) "и" copy <__ rwstd :: __rb_tree <std :: string, std :: string, __rwstd :: __dentif <std :: string, std :: string>, std :: less , std :: allocator > :: const_iterator, std :: insert_iterator >> (__rwstd :: __rb_tree , std :: less , std :: allocator > :: const_iterator, __rwstd :: __rb_tree , std :: less , std :: allocator > :: const_iterator, std :: insert_iterator >) ".