Hi, I'am starting to learn serialization and I have proably quite simple problem but I don'tknow how to save object by pointer, with using boost serialization. I have such code
When I'm trying to compile this I'm getting "left of '.serialize' must have class/struction/union "Code:
class might
{
private:
string name;
string descripction;
int level;
int maxlevel;
int *mana;
int price;
int upgrade;
int upgradecost;
int manaup;
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & Ar, const int version){
Ar & name;
Ar & descripction;
Ar & level;
Ar & maxlevel;
Ar & mana;
Ar & price;
Ar & upgrade;
Ar & upgradecost;
Ar & manaup;
}
public:
might() {}
might(string id, string about, int magic, int endlevel, int cost, int upg, int upcost, int manacost);
friend std::ostream& operator<<(std::ostream& os, const moc& m);
void save(might &m, string name);
void load(might &m, string name);
~might();
};
//save, load methods
void might::save(might &m, string name){
std::ofstream ofs(name);
boost::archive::text_oarchive oa(ofs);
oa << m;
}
void might::load(might &m, string name){
std::ifstream ifs(name);
boost::archive::text_iarchive ia(ifs);
ia >> m;
}
//code in main()
string name;
cin >> name;
might *something = new might();
something->save(*something,name);
I'm I thinking wrong somewhere how can I fix it?