所以我必须在课堂上为我的 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;
现在,它给了我这些错误:
- 没有名为ptrdiff_t' in
std' 的类模板 -ISO C++ 禁止声明没有类型的 `difference_type'
如果有人对如何修复此代码有任何想法,我将永远感激不尽。提前致谢!