Я компиляции некоторые подталкивание :: код питона, и я не понимаю эту ошибку:Объявление ... как массив функций?
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<>(...)()
является допустимым выражением -
У вас может быть массив * указателей * для функций. У вас не может быть набора функций. –
Вы не ошиблись в знаке '=', не так ли? –
Если это помогает, 'SomeType (t [0])();' будет объявлять массив с именем 't' с нулевой длиной функций, которые не принимают аргументов и возвращают' SomeType'. Однако я не вижу, как ваш код может быть проанализирован именно таким образом. О, подождите, может быть ... –