이 클래스는 다음 오류를 표시합니다. '정적이 아닌 const 멤버'const int :: membershipNo ', 기본 할당 연산자'를 사용할 수 없습니다. 이상한 점은이 코드가 다른 프로젝트에서 반복되어 완벽하게 작동한다는 것입니다. 내가 그 일을 올바르게하도록 도울 수 있니?'비 정적 정적 멤버 유형은 기본 할당 연산자를 사용할 수 없습니다.'- 이것이 의미하는 바는 무엇입니까?
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;
}
아, 고마워. 따라서 복사 생성자를 사용하여 const 데이터가있는 객체를 복사하는 방법은 없을까요? – Armada
@Frammo 복사 생성자는 완벽합니다. 자신이 제공하지 않는 한 복사 할당은 없습니다. –
@Frammo가 더 설명했습니다! –