Questa classe sta segnalando il seguente errore: 'const const non statico' const int Member :: membershipNo ', impossibile utilizzare l'operatore di assegnazione predefinito'. La cosa strana è che questo codice viene ripetuto in un altro progetto e funziona perfettamente. Puoi aiutarmi a rimediare?'Il membro const non statico non può usare l'operatore di assegnazione predefinito' - cosa significa?
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 sì, grazie. Quindi non c'è modo di copiare usando un costruttore di copia un oggetto che ha dati const? – Armada
@ Il costruttore di Frammo Copy sta perfettamente bene. L'assegnazione della copia non è - a meno che tu non ne fornisca la tua. –
@Frammo ha spiegato di più! –