When you construct a ProcessedResponseResult
, it will call the copy constructor of rapidjson::Document
, but in the file rapidjason/document.h
, to prevent from copying the rapidjson::Document
object, it declares a private copy constructor, and doesn't implement it, so this causes the linker error.
//! Copy constructor is not permitted.
private:
GenericValue(const GenericValue& rhs);
If your reason for using std::pair
is just to return 2 values from the function, I'd recommend passing the jsonDoc
by reference.