Использование rapidjson :: Document в качестве ошибки указателя

У меня есть переменная класса, которая является указателем, rapidjson :: Document. У меня проблемы с использованием этого указателя с ParseStream. Я не могу найти примеры использования указателя на переменную документа. Может быть, кому-то еще повезло, используя это как указатель вместо ссылки? У меня проблема с ошибкой компиляции / видя в чем проблема.

OurClassDOM.h
class OurClassDOM {
OurClassDOM(){}

template<typename T> OurClassDOM(const OurString &n, const T &v)
:
pDocument(new rapidjson::Document(n, v)){}

OurClassDOM(const OurClassDOM &rhs)
{
pDocument = new rapidjson::Document;
//copy it
}

OurClassDOM(const rapidjson::Document &rhs)
{
pDocument = new rapidjson::Document;
//copy it
}

virtual OurClassDOM clone() const
{return(*this); }

private:
OurClassDOM &operator=(const OurClassDOM &);
ourPtr<rapidjson::Document> pDocument;
...
}

OurclassDOM.cpp
...
void OurClassDOM::parse(const std::string& json) const {
rapidjson::StringStream strString(json.c_str());
pDocument->ParseStream(strStream);
}
...
//compilation error at -> says:
error C2662: 'rapidjson::GenericDocument<Encoding> &rapidjson::GenericDocument<Encoding>::ParseStream<0,rapidjson::StringStream>(InputStream &)' : cannot convert 'this' pointer from 'const rapidjson::Document' to 'rapidjson::GenericDocument<Encoding> &'

Я могу получить это для компиляции только когда это так:

rapidjson::Document document;
rapidjson::StringStream strStream(json.c_str());
rapidjson::ParseResult result = document.ParseStream(strStream); //compiles

Как мне заставить его скомпилировать с указателем? У меня уже есть указатель в моих конструкторах и т. Д., И я предпочел бы не переключаться на ссылку на класс. Я не могу найти никаких примеров в Интернете использования документа указателя с этим вместо ссылки.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector