A problem while linking c++ to python

Compare the following two extern functions in c++:

(1)

 1 extern "C"
 2 {
 3     void test()
 4     {
 5       vector<int> a(10);
 6       for (auto i = 0; i < 10; ++i)
 7       {
 8           a[i] = i * i;
 9           cout << a[i] << endl;
10       }
11     }
12 }

(2)

 1 extern "C"
 2 {
 3     void test()
 4     {
 5         ofstream otf;
 6         otf.open("output");
 7         vector<int> a(10);
 8         for (auto i = 0; i < 10; ++i)
 9         {
10             a[i] = i * i;
11             otf << a[i] << " ";
12         }
13         otf.close()
14     }
15 }

The first one can be called by python but the second can not. Why?

posted @ 2015-12-10 00:55  luglio  阅读(110)  评论(0)    收藏  举报