- 论坛徽章:
- 0
|
本帖最后由 lj56630325 于 2010-11-08 14:37 编辑
- #include <iostream>
- #include <iterator>
- #include <vector>
- using namespace std;
- //int add (int a) {return a+1;}
- //int add (int a, int b) {return a+b;}
- struct add {
- int operator () (int a) {return a+1;}
- int operator () (int a, int b) {return a+b;}
- };
- int main ()
- {
- int a[5] = {1,2,3,4,5};
- vector<int> va;
-
- //transform (&a[0], &a[5], back_inserter (va), add );
- transform (&a[0], &a[5], back_inserter (va), add ());
- ostream_iterator<int> osb (cout, ", ");
- copy (va.begin (), va.end (), osb);
- cout << endl;
-
- //transform (&a[0], &a[5], va.begin (), back_inserter (va), add );
- transform (&a[0], &a[5], va.begin (), back_inserter (va), add ());
- copy (va.begin (), va.end (), osb);
- cout << endl;
- return 0;
- }
复制代码 我不明白的是为什么用重载的add函数就编译通不过. |
|