gpt4 book ai didi

c++ - 使用带有 Dev C++ 的 RapidXML 在 C++ 中解析 XML 文件

转载 作者:太空宇宙 更新时间:2023-11-04 14:09:40 24 4
gpt4 key购买 nike

所以我必须在类里面为我的 C++ 项目解析一个 XML 文件,我正在使用 RapidXML。 rapidxml_iterators.hpp 文件给我带来了一些麻烦。顺便说一下,我正在使用 Dev C++

起初,我有以下代码:

typedef typename xml_node<Ch> value_type;
typedef typename xml_node<Ch> &reference;
typedef typename xml_node<Ch> *pointer;
typedef std::ptrdiff_t difference_type;
typedef std::bidirectional_iterator_tag iterator_category;

在我的 main.cpp 中,我做了:#include "rapidxml_iterators.hpp"并在我尝试编译它时给了我预期的嵌套名称说明符错误。我按照 compile rapidxml under linux with g++ 中的说明进行操作并将代码从顶部更改为以下:

typedef xml_node<Ch> value_type;
typedef xml_node<Ch> &reference;
typedef xml_node<Ch> *pointer;
typedef typename std::ptrdiff_t difference_type;
typedef typename std::bidirectional_iterator_tag iterator_category;

现在,它给我这些错误:

-在 std' 中没有名为 ptrdiff_t' 的类模板
-ISO C++ 禁止声明没有类型的“difference_type”



如果有人对如何修复此代码有任何想法,我将永远感激不已。提前致谢!






最佳答案





您缺少 std::ptrdiff_t 的定义。所以编译器告诉你不能 typedef 因为它没有定义。



只需在文件顶部包含正确的标题就可以了(只有这个错误!),即添加:



#include <cstddef>

关于c++ - 使用带有 Dev C++ 的 RapidXML 在 C++ 中解析 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15236471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com