У меня есть класс, у которого есть один закрытый член:
std::set<unsigned long> Sset;
И у меня есть проблема с этой функцией:
Прототип:
Set& Union (Set&, Set&);
Код:
Set& Set::Union (Set& s1, Set& s2)
{
set<unsigned long>::iterator a;
set<unsigned long>::iterator j;
for (a = s1.Sset.begin(); a!=s1.Sset.end(); ++a)
for (j = s2.Sset.begin(); j!=s2.Sset.end(); ++j)
if (*a = *j)
{
Sset.insert(*a);
break;
}
return *this;
}
Я получаю, что выражение ошибки компилятора должно быть изменяемым lvalue в *a=*j
С итератором j все в порядке, но он не примет *a
Любая помощь или объяснение?Спасибо