编程论坛's Archiver

zhangkai1 发表于 2007-9-14 16:32

[求助]error C2248: “CObject::operator =”: 无法访问 private 成员

<P>在网上找了很久,不得要领,请高人帮助。<BR>////////////////////////////////////////////////////////<BR>定义自己的类<BR>class CccPoint : public CObject<BR>{<BR>public:<BR>    CccPoint();<BR>    CccPoint(CPoint newpt);<BR>    virtual ~CccPoint();<BR>protected:<BR>    int x;<BR>    int y;<BR>public:<BR>    void draw(CDC* pDC);<BR>};<BR>////////////////////////////////////////////////////////<BR>在文档类"mfc_rw2Doc.h"中添加成员变量<BR>CArray &lt;CccPoint,CccPoint&amp;&gt; * m_pointArry;<BR>////////////////////////////////////////////////////////<BR>在鼠标左键重调用<BR>void Cmfc_rw2View::OnLButtonDown(UINT nFlags, CPoint point)<BR>{<BR>    // TODO: 在此添加消息处理程序代码和/或调用默认值</P>
<P>    CccPoint dp(point);</P>
<P>    CDC*   pDC=GetDC();<BR>    dp.draw(pDC);</P>
<P>    Cmfc_rw2Doc* pDoc = GetDocument();<BR>    pDoc-&gt;m_pointArry-&gt;Add(dp);</P>
<P><BR>    CView::OnLButtonDown(nFlags, point);<BR>}<BR>////////////////////////////////////////////////////////////<BR>编译通不过。提示<BR>错误    1    error C2248: “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)    d:\my documents\visual studio 2005\projects\mfc_rw2\mfc_rw2\ccpoint.h    16   <BR>//////////////////////////////////////////////////////////////<BR> 请求帮助。<BR></P>

zhangkai1 发表于 2007-9-17 09:43

没有人知道吗?????

crazyeddy 发表于 2008-4-21 21:48

回复 1# 的帖子

cainiao 要实现如下函数才行
CccPoint( const CccPoint& scr );

crazyeddy 发表于 2008-4-21 21:52

回复 2# 的帖子

如果你用到类型转换(父转换成子)就要隐式调用父的CccPoint( const CccPoint& scr );
如果你要向下面这样:
CccPoint a, b;
....
b = a;
则要实现CccPoint的运算符函数const CccPoint & operator=( const CccPoint & scr );

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.