在此代碼中遇到一些麻煩。試圖從C++模塊中返回一個元組(元素)的元組。看起來對我而言,dirty
列表包含兩個Coord
s,所以len
是2,列表中的項目的x
和y
值分別是0,0
和0,1
。第一次我試圖這樣做,所以我很可能誤解了文檔或其他東西。任何提示?在C++模塊崩潰時創建PyTuple
PyObject* getDirty()
{
int len = dirty.size();
PyObject* tuple = PyTuple_New(len);
int count = 0;
for (std::list<Coord>::iterator i = dirty.begin(); i != dirty.end(); ++i)
{
PyTuple_SET_ITEM(tuple, count, PyTuple_Pack(2, (*i).x, (*i).y));
++count;
}
return tuple;
}
編輯:哦,忘了提,實際的崩潰是在PyTuple_Set_ITEM
線。
使用'i-> x'而不是'(* i).x'。 – 2009-11-23 21:35:43
明白了,看起來更好......但是還有其他原因嗎? – Mizipzor 2009-11-23 21:42:57
沒有其他原因'i-> x'。 – 2009-11-24 12:08:26