2011-03-26 54 views
4

假設: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'。

回答

8

shape[0]爲您提供了一個Python對象。要將其轉換爲int或其他C++類型,需要提取值:

int x = extract<int>(shape[0]); 
相關問題