Я написал тестовый код boost::python::list
, но получил segment fault
#include <iostream>
#include <boost/python.hpp>
#include <boost/python/list.hpp>
#include <boost/python/extract.hpp>
using namespace std;
using namespace boost;
void test(const boost::python::list & action, int i);
void test(const boost::python::list & action, int i) {
cout << "step into here" << endl;
double a = boost::python::extract<double>(action[i]);
cout << a << endl;
}
int main() {
cout << "Hello World!" << endl;
boost::python::list action;
for (int i = 0; i < 10; i++) action.append(1.0);
// int n = boost::python::extract<double>(action.attr("__len__")());
// cout << n << endl;
test(action, 0);
return 0;
}
Кажется, что ошибка сегмента произошла в
double a = boost::python::extract<double>(action[i]);
Но список имеетдлина 10, и я хочу получить значение с индексом 0. Как я могу это исправить?