使用CArray模板出错
CMyClass 是自己写的类
#include <afxtempl.h>
CArray<CMyClass, CMyClass&>Ary;//定义全局
//添加数组
CMyClass tv;
Ary.SetSize(500, -1)
Ary.Add(tv);
//提取
int d = Ary.GetSize();
for (int i=0; i<d; i++)
{
CMyClass &t = Ary.ElementAt(i);
}
出错提示:error C2582: 'CMyClass' : 'operator =' function is unavailable
是不是
如果这样定义CArray<CMyClass,CMyClass> ary;
就需要给CMyClass写一个拷贝构造函数,还要重载等于号 =
如果这样定义CArray<CMyClass,CMyClass &> ary;
只需要给CMyClass写个重载等于号 = 的方法就可以了.
如果这样定义CArray<CMyClass*,CMyClass*> ary;
仍然需要给CMyClass类写一个重载等于号 = 的方法.
请问 1、如果我用CArray<CMyClass, CMyClass&>ary;方法定义的话,重载等于号= 的函数应该怎么写(10分)
2、如果我用CArray<CMyClass, CMyClass>ary;方法定义的话,拷贝构造函数又如何去写(10分)
3、我上面使用CArray的方法有没有错误,有的话请指出(5分)