Суть проблемы в том, что при проверке есть ли в множестве некоторый элемент(число), которое было введено(insert) туда несколько итераций назад, не находится, и в дебагере в принципе пишет, что множество состоит из 1 элемента, хотя опять же на предедущей(их) итерации(ий) дебаггер показывал, что множество содержит больше 1 элемента.
Code:
Так как мне нужно решить задачу с непересекающимися множествами(Disjoint set) , мне нужен вектор множеств. Если брать отдельное множество, то вышестоящая проблема отсутствует.
int main() {
std::vector<set<int>> Sets{{0}};
for (int i = 0; i < 2; i++) {
if(i ==0)
for (set<int> s : Sets) {
s.insert(3);
}
if (i == 1)
for (set<int> s : Sets) {
if (s.find(3) == s.end())
throw("ERROR");
}
}
return 0;