Я пишу расширение С++ для скрипта Python и хочу вернуть несколько значений, например то, что мы можем сделать в функции Python.
Простой пример в питоне:
def test():
return 0,0
tuple кажется наиболее близким ответом
#include <tuple>
std::tuple<int,int> test(void){
return std::make_tuple(0,0);
}
Но когда я его компилирую, он жалуется, что
TypeError: No to_python (by-value) converter found for C++ type: std::tuple<int, int>
Кто-нибудь знает, могу ли я вернуть несколько значений с помощью С++?
ИЗМЕНИТЬ:
Это мой файл setup.py.
#!/usr/bin/env python
from distutils.core import setup
from distutils.extension import Extension
setup(name="PackageName",
ext_modules=[
Extension("foo", ["foo.cpp"],
libraries = ["boost_python"],
extra_compile_args = ["-std=c++11"]
)
])