0

Dev C++ で C++ プロジェクトの XML ファイルを解析しており、rapidxml_iterators.hpp ファイルに次のコードがあります。

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;

それは私にこれらのエラーを与えています:

no class template named `ptrdiff_t' in `std'
ISO C++ forbids declaration of `difference_type' with no type 
no class template named `bidirectional_iterator_tag' in `std'
ISO C++ forbids declaration of `iterator_category' with no type

これらのエラーが発生する前は、上記のコードは次のようになっていました。

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;

これにより、次のようなネストされた名前指定子エラーが発生しました。

expected nested-name-specifier
`xml_node<Ch>' specified as declarator-id
two or more data types in declaration of `xml_node<Ch>'
expected `;' before "value_type"

解析を行っているメインファイルには、次のものが含まれています。

#include <iostream>
#include "rapidxml.hpp"
#include "rapidxml_iterators.hpp"
#include "rapidxml_print.hpp" 
#include "rapidxml_utils.hpp"
#include <iterator>
#include <istream>
#include <cstdlib>
#include <string>
#include <queue>
#include <vector>
#include <streambuf>
#include <cstddef>

私はすでにこのウェブサイトで同様の投稿を探しており、彼らのアドバイスに従いましたが、これまでのところ私の問題を解決したものはありません. Dev C++ の問題ですか、それとも私のコードの問題ですか? ありがとうございました

4

1 に答える 1