#include <vector>
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
struct Add : public binary_function< int , int , int > {
int operator( ) ( const int & _Left, const int & _Right) const //LINE I
{ return _Left+ _Right; }
} ;
void printer( int i) {
cout << i << ", " ;
}
int main( ) {
int mynumbers[ ] = { 3 , 9 , 0 , 2 , 1 , 4 , 5 } ;
vector< int > v1( mynumbers, mynumbers + 7 ) ;
vector< int > v2( 7 ) ;
transform( v1.begin ( ) , v1.end ( ) , v2.begin ( ) , bind1st( Add, - 1 ) ) ; //LINE II
for_each( v2.rbegin ( ) , v2.rend ( ) , printer) ;
return 0 ;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IEFkZCA6IHB1YmxpYyBiaW5hcnlfZnVuY3Rpb248aW50LCBpbnQsIGludD4gewogICAgICAgIGludCBvcGVyYXRvcigpKGNvbnN0IGludCAmIF9MZWZ0LCBjb25zdCBpbnQgJiBfUmlnaHQpIGNvbnN0Ly9MSU5FIEkKICAgICAgICB7IHJldHVybiBfTGVmdCtfUmlnaHQ7fQp9Owp2b2lkIHByaW50ZXIoaW50IGkpIHsKICAgICAgICBjb3V0IDw8IGkgPDwgIiwgIjsKfQppbnQgbWFpbigpIHsKICAgICAgICBpbnQgbXludW1iZXJzW10gPSB7IDMsIDksIDAsIDIsIDEsIDQsIDUgfTsKICAgICAgICB2ZWN0b3I8aW50PiB2MShteW51bWJlcnMsIG15bnVtYmVycyArIDcpOwogICAgICAgIHZlY3RvcjxpbnQ+IHYyKDcpOwogICAgICAgIHRyYW5zZm9ybSh2MS5iZWdpbigpLCB2MS5lbmQoKSwgdjIuYmVnaW4oKSwgYmluZDFzdChBZGQsIC0xKSk7Ly9MSU5FIElJCiAgICAgICAgZm9yX2VhY2godjIucmJlZ2luKCksIHYyLnJlbmQoKSwgcHJpbnRlcik7CiAgICAgICAgcmV0dXJuIDA7Cn0=
compilation info
prog.cpp: In function 'int main()':
prog.cpp:17:64: error: expected primary-expression before ',' token
transform(v1.begin(), v1.end(), v2.begin(), bind1st(Add, -1));//LINE II
^
stdout