Ошибка: перегрузка неоднозначности между "std::copy

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

#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:: 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:: 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 ответ

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

#include<algorithm>

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

Другие вопросы по тегам