我正在编写一个将返回多个 Python 对象的本机函数
PyObject *V = PyList_New(0);
PyObject *E = PyList_New(0);
PyObject *F = PyList_New(0);
return Py_BuildValue("ooo", V, E, F);
这编译得很好,但是,当我从 Python 程序调用它时,我得到一个错误:
SystemError:错误的格式字符传递给 Py_BuildValue
如何正确地做到这一点?
编辑:以下作品
PyObject *rslt = PyTuple_New(3);
PyTuple_SetItem(rslt, 0, V);
PyTuple_SetItem(rslt, 1, E);
PyTuple_SetItem(rslt, 2, F);
return rslt;
但是,没有更短的方法可以做到这一点吗?