У меня есть гетерогенный список int
и string
Я хочу сохранить их все в vector<string>
. С помощью этой команды:
std::string temp = boost::python::extract<std::string>(xList[i][j]);
Я получаю эту ошибку:
TypeError: No registered converter was able to produce a C++ rvalue of type std::string from this Python object of type float
У вас есть два варианта: либо получить значения как boost::python::object
проверить типы и делать все, что захотите, или зарегистрировать конвертер, который превращает числа в строки (предположительно, используя std::to_string
).
Вы можете использовать инструкции для "Извлечение типов C++" в документах:
extract<std::string&> extractor(xList[i][j]);
if (extractor.check()) {
std::string& v = extractor();
boost::python::object
и проверить типы?