Итак, мне нужно разобрать файл XML для моего проекта C++ в классе, и я использую 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" и выдал ожидаемую ошибку спецификатора вложенного имени, когда я пытался его скомпилировать. Я следовал инструкциям из компилировать rapidxml под linux с помощью 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' без типа
Если у кого-нибудь есть какие-либо идеи о том, как исправить этот код, я был бы вечно благодарен. Заранее спасибо!
ISO C++ forbids the declaration of difference_type with no type
иno class template named bidirectional_iterator_tag in std
, а остальные ошибки - просто повторяющиеся экземпляры этих двух, но с разными вещами, такими какiterator_category
- person user2137877   schedule 06.03.2013