没有操作员发现升压read_xml功能错误



我正在尝试使用以下函数将xml文件读入ptree read_xml:

read_xml(myFile, myPtree, boost::property_tree::xml_parser::trim_whitespace);

在这里,myFile是一个std::string,myPtree是一个basic_ptree<std::string, std::wstring>.

构建时给我以下错误:

xml_parser_read_rapidxml.hpp(48): error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::basic_string<_Elem,_Traits,_Alloc>' (or there is no acceptable conversion)
         with
          [
              _Elem=char,
              _Traits=std::char_traits<char>,
              _Alloc=std::allocator<char>
          ]

关于可能导致错误的原因的任何指示?

您可以收到如图所示的消息,仅仅是因为没有从std::stringstd::wstring的隐式转换

在这种情况下,请匹配字符串类型或尝试调整basic_ptree专用化

由于您是从 XML 进行分析,并且 XML 分析器仅支持一种字符串类型,因此您可能需要使键和数据字符串类型相同。

您可以使用与 XML 分析器匹配的字符串类型,并使用translator_between<std::string, std::wstring>调用相应的字符集转换

相关内容

  • 没有找到相关文章

最新更新