typedef CArray<int,int> Array; 
CArray<Array,Array> x; 
Array y;
x.Add(y);
报错:error C2664: 'Add' : cannot convert parameter 1 from 'class CArray<int,int>' to 'class CArray<int,int>' 
No copy constructor available for class 'CArray<int,int>'
x.Add();//这里的Add里的参数应该怎么放?放什么类型的?

解决方案 »

  1.   

    这个需要你 重载一下 CArray <int,int> Array 的拷贝构造函数
    对 = 号 和 参数复值重载一下
      

  2.   

    typedef CArray <int,int> Array; 
    CArray <Array*,Array*> x; Array* y= new Array; 
    x.Add(y); 呵呵,不好意思,疏忽了,昨天说错了。
    看看这个错误No copy constructor available for class 'CArray <int,int>' 
    也就是这种用法的话要“拷贝构造函数”,而CArray没有提供,一种是你从CArray继承一个类并实现“拷贝构造函数”
    另一个是用指针,这样就要你自己new,delete