У меня проблемы с завершением функции, в настоящее время моя программа не позволяет использовать cout
, когда я вызываю ее в main.Я пытаюсь найти альтернативный способ создания определения функции для:
set<int> Union(const set<int> & s0, const set<int> & s1);
, который создает и возвращает набор, который является объединением двух других наборов (s0 и s1).То, что я написал (функция пытается использовать метод set_union из #include) и желаемый результат ниже:
Желаемый результат: данный набор s0 имеет {1,2,3,4}, а набор s1 имеет {4,5,6,7}, должен быть создан новый набор (s3 с {1,2,3,4,5,6,7}).Вся помощь приветствуется.
#include <iostream>
#include <string>
#include <set>
#include <cassert>
#include <algorithm>
using namespace std;
set<int> Union(const set<int> & s0, const set<int> & s1);
int main(){
set<int> s0{1,2,3,4};
set<int> s1{4,5,6,7};
cout << Union(s0,s1) << endl;
}
set<int> Union(const set<int> & s0, const set<int> & s1) {
set<int> s;
set_union(s0.begin(), s0.end(),
s1.begin(), s1.end(),
s, s.begin());
return s;
}