Boost / Python:如何使用/转换提取的对象?

时间:2011-03-26 05:16:10

标签: c++ python boost boost-python

假设:

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

我想将它转换为int并打印例如。我试过int x = shape[0];但它在初始化“消息中给了我一个”无法将'boost :: python :: api :: const_object_item'转换为'int'。

1 个答案:

答案 0 :(得分:8)

shape[0]为您提供了一个Python对象。要将其转换为int或其他C ++类型,您需要提取值:

int x = extract<int>(shape[0]);