What happens when you attempt to compile and run the following code?
#include
#include
#include
#include
using namespace std;
class B { int val;
public:
B(int v=0):val(v){}
int getV() const {return val;}
B operator ?(const B &b )const { return B(val ? b.val);}};
ostream & operator <<(ostream & out, const B & v) { out< templatestruct Out {
ostream & out;
Out(ostream & o): out(o){}
void operator() (const T & val ) { out< int main() {
B t1[]={1,2,3,4,5,6,7,8,9,10};
B t2[]={1,2,3,4,5,6,7,8,9,10};
vector v1(t1, t1+10);
vector v2(t2, t2+10);
vector v3(10);
transform(v1.begin(), v1.end(), v2.rbegin(), v3.begin(), minus());
for_each(v3.rbegin(), v3.rend(), Out(cout));cout< return 0;
}
Program outputs: