Извлечь и преобразовать элемент списка boost :: python :: list

0

У меня есть гетерогенный список 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

1 ответ

1
Лучший ответ

У вас есть два варианта: либо получить значения как boost::python::object проверить типы и делать все, что захотите, или зарегистрировать конвертер, который превращает числа в строки (предположительно, используя std::to_string).

Вы можете использовать инструкции для "Извлечение типов C++" в документах:

extract<std::string&> extractor(xList[i][j]);
if (extractor.check()) {
    std::string& v = extractor();
  • 0
    Спасибо, как я могу получить его как boost::python::object и проверить типы?
  • 0
    Почему строка определяется как ссылка?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню