CArray<int,int> array[10]; 
for (int i = 0; i < 10; i ++) 

for (int j = 0; j < 10; j ++) 

array[i].Add(j); 


这个10*10数组的列数扩展很容易,用Add就可以了,但是行数应该怎么扩展呢?
或者:
typedef   CArray <int,int>   Array; 
CArray <Array,Array>   x; 
x.SetSize(10); 
for(int i = 0; i < 10; i ++)

x[i].SetSize(10); 

能实现这个10*10数组的行数扩展也可以。

解决方案 »

  1.   

    typedef  CArray <int,int>  Array; 
    CArray <Array,Array>  x; for(int i=0;i<10;i++)
    {
         Array arr;    for(int j=0;j<10;j++)
        {
              arr.Add(j);
        }
      x.Add(arr);
    }
      

  2.   

    2楼的程序运行有问题
    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>'
    另外你的程序也只是建了一个10*10的数组吧。
      

  3.   

     "x.Add(arr);" 这里出的问题。
      

  4.   

    LZ使用pointer 把 ,建立一个class,然后在class 里面添加CArray<CArray*,CArray*>就可以了 ,