मैं एक वर्ग है और मैं एक shared_ptr लेकिन एक वस्तु serializing के सामान्य विधि को क्रमानुसार करने कोशिश कर रहा हूँ काम नहीं कर रहा:बूस्ट C++ serializing *
class Object {
public:
Object();
~Object();
shared_ptr<char>objectone;
friend class boost::serialization::access;
template <typename Archive>
void serialize(Archive &ar, const unsigned int version)
{
ar & objectone;
}
};
मैं भी इस तरह से यह प्रयास किया है, लेकिन यह अभी भी काम नहीं करता है:
void serialize(Archive &ar, const unsigned int version)
{
for (int i = 0; i < (strlen(objectone.get())); i++)
ar & objectone.get()[i];
}
कोई विचार यह कैसे दृष्टिकोण है? धन्यवाद।
कुछ अतिरिक्त जानकारी:
मैं पहले से ही दोनों shared_ptr हेडर फाइल को शामिल किया है:
#include <boost/serialization/shared_ptr.hpp>
#include <boost/serialization/shared_ptr_132.hpp>
मैं एक स्ट्रिंग में बदल जाएंगे और है कि रास्ते में यह क्रमानुसार करने का प्रयास किया है, लेकिन यह निम्न त्रुटि पैदा करता है : बढ़ावा :: संग्रह :: archive_exception ' क्या(): धारा त्रुटि
friend class boost::serialization::access;
template <typename Archive>
void serialize(Archive &ar, const unsigned int version)
{
if (objectone.get()) {
string temp(objectone.get());
ar & temp;
}
ar & objectone;
}
shared_ptr ऐसा नहीं करता जो आपको लगता है कि ऐसा करता है। आप इसे स्ट्रिंग की तरह नहीं मान सकते क्योंकि यह एक स्ट्रिंग नहीं है। यह एक चरित्र के लिए एक स्मार्ट सूचक है। –
Alan