2011-03-26 3 views
4

Пусть:Boost/Python: Как я могу использовать/конвертировать извлеченные объекты?

using namespace boost::python; 
void myClass::test(numeric::array& arrayParam) { 
    const tuple &shape = extract<tuple>(arrayParam.attr("shape")); 
} 

Я хотел бы превратить его в междунар и печати, например. Я пробовал int x = shape[0];, но он дает мне сообщение «can not convert» boost :: python :: api :: const_object_item в сообщение «int» в инициализации ».

ответ

8

shape[0] предоставляет объект Python. Чтобы преобразовать его в int или другой тип C++, необходимо извлечь значение:

int x = extract<int>(shape[0]); 
Смежные вопросы