[英]Parsing an XML file in C++ using RapidXML with Dev C++
因此,我必須在課堂上為我的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”,並在嘗試編譯時給了我一個預期的嵌套名稱說明符錯誤。 我按照g ++在linux下編譯Rapidxml的說明進行操作,並將代碼從頂部更改為以下代碼:
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中沒有名為ptrdiff_t' in
類模板-ISO C ++禁止聲明沒有類型的`difference_type'
如果有人對如何解決此代碼有任何想法,我將永遠感激不已。 提前致謝!
您缺少std::ptrdiff_t
的定義。 因此,編譯器告訴您,由於未定義,因此無法對其進行typedef
。
只需在文件頂部包含適當的標頭,您就會很好(僅出現此錯誤!),也就是說,添加:
#include <cstddef>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.