複数の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;
しかし、これを行うためのより短い方法はありませんか?