关于MFC绘图中的一个问题,请高手指点,非常感谢!

我新建了一个单文档的mfc工程后,添加了一个Shape新类,添加五个成员变量:COLORREFinnerColor;//图形填充颜色COLORREFoutlineColo... 我新建了一个单文档的mfc工程后,添加了一个Shape新类,添加五个成员变量:
COLORREF innerColor;//图形填充颜色
COLORREF outlineColor;//线条颜色
CPoint lastPoint;//图形的另一个端点
CPoint originPoint;//图形的一个的点
Shape的构造函数为:
Shape::Shape(Shape *addShape)
{
this->innerColor=addShape->innerColor;
this->lastPoint=addShape->lastPoint;
this->originPoint=addShape->originPoint;
this->outlineColor=addShape->outlineColor;
this->shapeType=addShape->shapeType;
}

因为程序中需要一个变量来记录画过的图形,所以把这些图形的Shape类对象放到一个数组中保存起来,我在View类中添加一个CArray<Shape>类的变量,发现不能添加,提示template declaration or defintions cannot be added,我加了头文件#include <afxtempl.h>还是有一样的错误,不知道是什么原因。后来我手动添加,提示如下错误:
error C2501: 'CArray' : missing storage-class or type specifiers;
error C2143: syntax error : missing ';' before '<';
之类的错误。请高手指点一下原因,谢谢!
展开
 我来答
greenhand866
2012-12-21 · 超过12用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:27.9万
展开全部
CArray是空数组,构造函数CArray() ,定义一个数组点 CArray<CPoint,CPoint> ptArray;
增加元素
CPoint pt(10,20);
ptArray.Add(pt); // Element 0
ptArray.Add(CPoint(30,40)); // Element 1
你的 是CArray(Shape) ,应该是 Shape类型的问题 ,至于下面的提示
失踪的存储种类或类型说明符;
Shape 是 什么类型 的 ,你应该 没有声明吧,你可以查下msdn,仔细看看
应该就明白为什么了。
你的提供的信息就这么多,只能这样了。希望可以帮到你。
那了
2012-12-12
知道答主
回答量:38
采纳率:0%
帮助的人:10.8万
展开全部
CArray模板类没用对,你再去仔细查查吧,CArray一般保存坐标数组,比如这样声明CArray<CPoint,CPoint> mypoint;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式