+ -
当前位置:首页 → 问答吧 → 请解惑,谢谢!

请解惑,谢谢!

时间:2011-11-30

来源:互联网

在文档类中定义了CTypedPtrList<CObList,CStroke*> m_strokeList;

在视类中有 CTypedPtrList<CObList,CStroke*> &strokeList = pDoc->m_strokeList;
为什么strokeList前面要加&,不加的话编译会报错?

作者: liuzf1218   发布时间: 2011-11-30

这是个引用,具体什么错误贴出来。

作者: foxriver_gjg1989   发布时间: 2011-11-30

CTypedPtrList 定义出来的list应该是个指针类型吧。m_strokeList 本身就是个指针应该。

作者: glovel0425   发布时间: 2011-11-30

从CObject派生的类禁止拷贝构造。。

作者: dahaiI0   发布时间: 2011-11-30

准确的说是从CObject派生的类不提供默认的拷贝构造和operation =,至于原因可以参考下面的
http://topic.csdn.net/u/20080924/18/fa40e256-955a-4ede-a4a4-ca87958ddff5.html
CObList,至少这个就是从CObject派生的.

作者: dahaiI0   发布时间: 2011-11-30

指向指针的指针,所以要加&!

作者: lijunda213   发布时间: 2011-11-30

谢谢大家,我新建了一个多文档的mfc程序,想在文档类中添加一个CTypedPtrList<CObList,CStroke*> m_strokeList;但是没有添加成功,编译的时候老是出现
error C2143: syntax error : missing ';' before '<'
error C2501: 'CTypedPtrList' : missing storage-class or type specifiers
error C2059: syntax error : '<'
error C2238: unexpected token(s) preceding ';'
这是怎么回事,我在头文件中包含了afxtempl.h文件

作者: liuzf1218   发布时间: 2011-11-30

解决了,学习中

作者: liuzf1218   发布时间: 2011-11-30