CArray <myType, myType&> a_type[2];表示两个myType的数组???
还是表示两个myType型别的变量???

解决方案 »

  1.   

    CArray <TYPE,ARG_TYPE> myArray
    CArray是一个模板,TYPE,第一个是模板参数,用来指明存储在数组中的对象的类型,是CArray返回的参数。ARG_TYPE,第二个用来访问存储在数组中对象的参数类型,传递到CArray的参数通常是TYPE的引用.
    CArray<myType,myType&> myArray
    也就说你定义了一个myArray这样一个动态数组。数组中的元素类型是myType类型的
    myType可以是基本类型,也可以是你定义的结构
      

  2.   

    2 个数组
    a_type[0]和a_type[1]
      

  3.   

    CArray <myType, myType&> a_type[2];
    就是两个动态数组a_type[0]和a_type[1];两者的中的元素类型都是myType
      

  4.   

    CArray是一个动态数组的类,因此你的问题可以等价为CPoint pt[3]是否是一个数组问题。
    回答当然是数组了,只不过数组这个词在CArray中有了新的含义了!你的声明说明a_type[0]是一个CArray<myType,myType&>的“数组”。
      

  5.   

    如果是前者
    class myType{ int i;};a_type[0].i???
      

  6.   

    CArray<CPoint,CPoint> myArray;// Add elements to the array.
    for (int i=0;i < 10;i++)
          myArray.Add( CPoint(i, 2*i) );// Modify all the points in the array.
    for (i=0;i <= myArray.GetUpperBound();i++)
    {
       myArray[i].x = 0;
    }
      

  7.   

    a_type[0].i是不对的
    因为这个i不是a_type[0]的元素,它的元素类型是myType,而i只是myType中的成员变量
    你可以a_type[0].GetAt(0).i;或者用a_type[0].Operater&[0].i试试
      

  8.   

    写错了
    是a_type[0].Operater[](0).i
      

  9.   

    既然你看过了msdn,你就应该明白了
    CArray<CPoint,CPoint> myArray[2];
    CPint pt[2];如果说pt[2]是数组,包含两个CPoin结构,那么myArray[2]包含两个CArray,而每个CArray是一个动态数组,所以a_type[2]应该是表示两个myType的数组!!!