0
我使用向量的迭代器。編譯時產生Cython迭代器錯誤
錯誤:
Cannot assign type 'iterator' to 'size_t'
。
from libcpp.vector cimport vector
def rotate_list(list ll):
cdef vector[int] vect1 = ll
cdef size_t t=0
t = vect1.end() - vect1.begin()
return t
我可以重現你的問題,但是當我嘗試用玩具類而不是矢量和迭代器構造一個簡單的C++示例時,我無法獲得相同的錯誤。我認爲這是一個晦澀的Cython錯誤,你應該將其報告給https://github.com/cython/cython/issues。 (我看不到一個明顯的workround) – DavidW
儘管你可以最小化你的說明例子 - 它基本上只是'end - vect3.begin()'和適當的'cdef's。這個bug與'set_intersection'無關[ – DavidW
]好吧,'iterator'不是'size_t' ...它們是根本不同的類型。 – TriskalJM