1

C++ を使用して単純なソート関数を記述しました。その宣言は void sort(int *, int) です。私は cppyy を使用し、python 関数で C++ 拡張機能を使用します。ドキュメントは、必要なときに array.array を使用できることを教えてくれます。組み込みのデータ ポインター型を渡します。しかし、常にプロンプ​​トが表示されます:

Traceback (most recent call last):

  File "app_main.py", line 51, in run_toplevel

  File "test.py", line 13, in <module>

    m.sort(ai, 1)

TypeError: none of the 1 overloaded methods succeeded. Full details:

  void MyClass::sort(int*, int) =>

    TypeError: no converter available

これは私が書いたpythonコードです:

#coding=utf8
import cppyy
import time
from array import array

cppyy.load_reflection_info("libMyClassDict.so")

MyClass = cppyy.gbl.MyClass
m = MyClass()
start = time.time()

m = MyClass()

for i in xrange(10000000):
    ai = array('i', [23])
    m.sort(ai, 1)
    m.SetMyInt(312, 2315, 2135, 13, 3251, 54, 2134, 3253, 134, 3251);

end = time.time()
print end - start

誰でも私の問題を解決できますか?

4

0 に答える 0