提取并转换boost :: python :: list的list元素

时间:2014-11-14 01:28:47

标签: python c++ boost-python

我有intstring的异构列表我希望将所有这些列表存储在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

1 个答案:

答案 0 :(得分:1)

您有两种选择:要么将值设为boost::python::object并检查类型并执行您喜欢的操作,要么register a converter将数字转换为字符串(大概使用std::to_string)。< / p>

您可以使用&#34;提取C ++类型&#34;的说明。在docs

extract<std::string&> extractor(xList[i][j]);
if (extractor.check()) {
    std::string& v = extractor();