Last Updated on December 6, 2021 by Admin 2
What happens when you attempt to compile and run the following code?
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
template<class T>struct Out {
ostream & out;
Out(ostream & o): out(o){}
void operator() (const T & val ) { out<<val<<” “; } };
int main() {
int t1[]={3,2,4,1,5};
int t2[]={5,6,8,2,1};
vector<int> v1(10);
sort(t1, t1+5);
sort(t2, t2+5);
set_difference(t1,t1+5,t2,t2+5,v1.begin());
for_each(v1.begin(), v1.end(), Out<int>(cout));cout<<endl;
return 0;
}
Program outputs:
- 1 2 3 4 5 6 8 0 0 0
- 3 4 0 0 0 0 0 0 0 0
- 6 8 0 0 0 0 0 0 0 0
- compilation error
- 1 2 5 0 0 0 0 0 0 0