关于CArray的一些问题求助

serenahxr serenahxr 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
每次利用Add()将对象添加到数组pts中
但是最终pts.GetSize()的结果永远是1
调试的时候发现每执行一次pts.GetSize()
m_pData都是一个新的值(值是正确的,就是说是我希望传进数组里的那个值)
m_nSize和m_nMaxSize都是1

初学者,求轻喷
相关代码如下

//CGeoPolyline.cpp
void CGeoPolyline::AddPoint(CPoint pt)
{
pts.Add(pt);
}

void CGeoPolyline::Draw(CDC *pDC)
{

int size =pts.GetSize();
for(int i=0;i<size;i++)
{

if(i==0)
pDC->MoveTo(pts[i]);
else
pDC->LineTo(pts[i]);

}

//pDC->Polyline(pts.GetData(),size);

}


//CGeoPolyline.h
#pragma once
#include "GeoObject.h"
#include "afxtempl.h"
class CGeoPolyline :
public CGeoObject
{
public:
CArray<CPoint,CPoint>pts;
void AddPoint(CPoint pt);
void Draw(CDC *pDC);
CGeoPolyline(void);
~CGeoPolyline(void);
};



...全文
评论 5
收藏 已收藏
分享
返回顶部