注册 登录
编程论坛 VC.NET论坛

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

zhangkai1 发布于 2007-09-14 16:32, 5052 次点击

在网上找了很久,不得要领,请高人帮助。
////////////////////////////////////////////////////////
定义自己的类
class CccPoint : public CObject
{
public:
CccPoint();
CccPoint(CPoint newpt);
virtual ~CccPoint();
protected:
int x;
int y;
public:
void draw(CDC* pDC);
};
////////////////////////////////////////////////////////
在文档类"mfc_rw2Doc.h"中添加成员变量
CArray <CccPoint,CccPoint&> * m_pointArry;
////////////////////////////////////////////////////////
在鼠标左键重调用
void Cmfc_rw2View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值

CccPoint dp(point);

CDC* pDC=GetDC();
dp.draw(pDC);

Cmfc_rw2Doc* pDoc = GetDocument();
pDoc->m_pointArry->Add(dp);


CView::OnLButtonDown(nFlags, point);
}
////////////////////////////////////////////////////////////
编译通不过。提示
错误 1 error C2248: “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明) d:\my documents\visual studio 2005\projects\mfc_rw2\mfc_rw2\ccpoint.h 16
//////////////////////////////////////////////////////////////
请求帮助。

3 回复
#2
zhangkai12007-09-17 09:43
没有人知道吗?????
#3
crazyeddy2008-04-21 21:48
回复 1# 的帖子
cainiao 要实现如下函数才行
CccPoint( const CccPoint& scr );
#4
crazyeddy2008-04-21 21:52
回复 2# 的帖子
如果你用到类型转换(父转换成子)就要隐式调用父的CccPoint( const CccPoint& scr );
如果你要向下面这样:
CccPoint a, b;
....
b = a;
则要实现CccPoint的运算符函数const CccPoint & operator=( const CccPoint & scr );
1