클래스를 CData
으로 만들고이를 serialize해야하므로 CObject
에서 파생되었습니다.직렬화를 위해 CObject에서 파생되어 액세스 할 때 컴파일러 오류가 발생합니다.
class CData : public CObject
{
DECLARE_SERIAL(CData);
public:
CData();
virtual ~CData();
virtual void Serialize(CArchive& ar);
//Data
CString m_strName;
ULONG m_ulID;
CString m_strCorps;
CPoint m_Coordinate;
short m_sStatus;
};
그리고 내 문서 클래스에는 vector<CData>
유형의 벡터를 사용합니다. vecData.push_back(Data)
(Data는 CData 유형 임)을 사용하여 프로그램의 런타임 중에 새로운 CData 객체를 벡터에 추가합니다.
그러나 나는 내가 다음과 같은 오류가이 문제를 컴파일 할 때 : 나는 조금을 검색하고 비 복사 가능한이나 뭐 같은 일하기 위해 CObject 수준과 관련이있다 것을 발견
이!?!? ...error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'
누구든지이 문제를 해결하는 방법을 알고 있습니까?
아니요 ... CObject construcotr에 관한 내용을 읽었습니까? – Incubbus