我有一個對象構造函數中的一個常量指針const對象深度複製const的指針const對象
A::A(const B* const ex): m_B(B){};
其中M_B:
const B* const m_B;
我現在想創建一個副本構造函數和賦值運算符 我已經嘗試了以下沒有任何運氣。
拷貝構造函數:
A::A(const A& cpy): *m_B(*cpy.m_B) {}
這不工作...我怎麼處理這個? 作業運營商:
A& A::operator=(const A& rhs) {
*m_B = *rhs.m_B // I know this won't work because const cannot be assigned
// error: assignment of read-only data-member
}
任何想法如何解決這個問題?
複製構造函數就像任何其他構造函數一樣,並且不返回值。另外,'operator()'不是賦值,你複製/粘貼錯了嗎? –
對不起,大量的錯別字。問題仍然存在 – MWright
你的代碼沒有意義(仍然複製/粘貼錯誤)。請嘗試創建一個完整的,自包含的示例。另外,什麼不適用於你的第一種方法? –