,一,获得返回值:
,
可以作为函数的一个参数
比如定义乐趣(CArray
CPointDArray来保存多点,然后定义坐标转换函数ConvertToXYs (CPointDArray,长* xy),将双坐标转换为长期型坐标,这是就出现几种常见错误,“CPointDArray缺少构造函数,或者是拷贝构造函数不存在”;,《;不能将参数1里,常可听到”;从CArray<类型,ARG_TYPE>”;转换为“;CArray<类型、ARG_TYPE>”,从这两个问题入手,举例说明问题。
,
,下面代码为我修改多次后总结的一个实例,照着此方法可以推广:
1.建立一个机器工程,在CTestView中,添加一个OnLButtonDown,在这里实现点的绘制。
2 .在CTestView.h中,自定义两类型的点类以及数组
类CPointD
{
,
公众:
,,双x;//longtitude
,,双y;//纬度
,,CPointD ()
,,{,
,,,,x=0;
,,,,y=0;
,,,};
,,,CPointD (const双dx, dy翻倍)
,,{
,,,,x=dx;
,,,,y=dy;
,,,};
,,,CPointD (const CPointD&pnt)
,,{
,,,,,x=pnt.x;
,,,,,y=pnt.y;
,,,};
,,,CPointD&运算符=(const CPointD&rhs)
,,,{
,,,,,如果(这==和rhs)
,,,,,{
,,,,,,,返回*;
,,,,,}
,,,,,x=rhs.x;
,,,,,y=rhs.y;
,,,,,返回*;
,,,}
},//双型指针链表
typedef CArray CPointDArray;//双型数组
typedef CArray<点,POINT&祝辞LPointArray;//长型数组
,
注意这里CArray可以用CArrayMFC类库之CArray作为函数参数和返回值