CTypedPtrList 为何出现 Access Violation 错误?

chenc82 2005-09-05 12:30:27
为了保存几条线条
定义这样一个变量 CTypedPtrList<CObList,CStroke*> m_strokeList;
如果把这句去掉就不会出现以下Access Violation 错误:
Unhandled exception in xxx.exe(ntdll.dll):0xc0000005:Access Violation

请问为什么会出现这种错误呢?
谢谢!

类CStroke如下:

class CStroke : public CObject
{
public:
CStroke(UINT nPenWidth);
protected:
CStroke();
DECLARE_SERIAL(CStroke)


public:
UINT m_nPenWidth;
CArray<CPoint,CPoint> m_pointArray;

public:
BOOL DrawStroke(CDC* pDC);
void FinishStroke();
virtual void Serialize(CArchive& ar);
};
...全文
90 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
teli_eurydice 2005-09-05
  • 打赏
  • 举报
回复
up
dirdirdir3 2005-09-05
  • 打赏
  • 举报
回复
在头文件里面不要定义类变量,定义为指针应该可以:
CTypedPtrList<CObList,CStroke*> *m_strokeList;
在cpp中new
caocheng8230 2005-09-05
  • 打赏
  • 举报
回复
建议楼主不要用MFC中提供的类库来操作串或列表,可以用STL中提供的vector来试试,这样的话有问题都可以表现在了编译期.

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧