我正在编译一些 boost::python 代码,但我不明白这个错误:
namespace py=boost::python;
void func(py::tuple& t){
/* ... */
vector<shared_ptr<SomeClass>> vf=py::extract<vector<shared_ptr<SomeClass>>>(t[0])();
/* ... */
}
使用 gcc 4.7 -std=gnu++0x
,:
error: declaration of 't' as array of functions
写相同的正确方法是什么?py::extract<>(...)()
是一个有效的表达式——