Ta klasa zgłasza następujący błąd: "niestatyczny element const" const int Członek :: memberNo ", nie można użyć domyślnego operatora przypisania". Dziwne jest to, że ten kod powtarza się w innym projekcie i działa doskonale. Czy możesz mi pomóc to naprawić?"Typ niestatyczny element stały nie może używać domyślnego operatora przypisania" - co to oznacza?
Member.h
class Member : public Person
{
public:
Member();
Member(int membershipNo);
virtual ~Member();
int getMembershipNo() const;
private:
const int membershipNo;
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive& ar, const unsigned int version)
{
ar & boost::serialization::base_object<Person>(*this);
ar & membershipNo;
}
};
Member.cpp
Member::Member() : membershipNo(0)
{
Person();
}
Member::Member(int memberNo) : membershipNo(memberNo)
{
Person();
}
Member::~Member()
{
// TODO Auto-generated destructor stub
}
int Member::getMembershipNo() const
{
return membershipNo;
}
Ah tak, dziękuję. Więc nie ma sposobu na kopiowanie za pomocą konstruktora kopii obiektu, który ma dane const? – Armada
Konstruktor @Frammo Copy jest całkowicie w porządku. Kopiuj zadanie nie jest - chyba że podasz własne. –
@Frammo wyjaśnił więcej! –