Ошибка: перегрузка неоднозначности между "std :: copy - PullRequest
1 голос
/ 26 декабря 2011

У меня есть код как показано ниже:

#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 >) ".

1 Ответ

0 голосов
/ 10 января 2012

Вы забыли добавить

#include<algorithm>

к вашему коду.

...