第一个是数组的类型,第二个是CArray模板定义函数的参数。

解决方案 »

  1.   

    误,原文中是这样 
    typedef CArray<CString,CString&> intArray; CArray<intArray,intArray&> aaa2;
    但还是无发使用aaa2[0][0]=
    楼上老兄在说声么呢
      

  2.   

    CArray是模板类,你怎么能用数组的操作去实现呢。
    如下:
    typedef CArray<CString,CString> intArray; CArray<intArray,intArray> aaa2;
    aaa2.SetSize(10);
    for(int i=0;i<10;i++)
    {
    aaa2.ElementAt(i).SetSize(10);
    }
    aaa2.ElementAt(0).ElementAt(0) = "1";
      

  3.   

    抱歉,CArray重载过"[]",是本人记错了.用的时候记得加上#include <afxtempl.h>
    typedef CArray<CString,CString> intArray; CArray<intArray,intArray> aaa2;
    aaa2.SetSize(10);
    for(int i=0;i<10;i++)
    {
    aaa2.ElementAt(i).SetSize(10);
    }
    aaa2[0][0]="qwq";
    //aaa2.ElementAt(0).ElementAt(0) = "alsdf";
    CString str = aaa2.ElementAt(0).ElementAt(0);
      

  4.   

    template<class TYPE, class ARG_TYPE>
    class CArray : public CObject
    {
    public:
    CArray();
    TYPE GetAt(int nIndex) const;
    void SetAt(int nIndex, ARG_TYPE newElement);
    TYPE& ElementAt(int nIndex);
    const TYPE* GetData() const;
    TYPE* GetData();
    void SetAtGrow(int nIndex, ARG_TYPE newElement);
    int Add(ARG_TYPE newElement);
    int Append(const CArray& src);
    void Copy(const CArray& src);
    TYPE operator[](int nIndex) const;
    TYPE& operator[](int nIndex);
    void InsertAt(int nIndex, ARG_TYPE newElement, int nCount = 1);
    public:
    ~CArray();
    };
    这是定义,第二个参数是成员函数的类型,很明显的,应该不用说明了吧。
      

  5.   

    佩服佩服
    先把分加上,再问一句
    我一定要在析够函数中加removeall()吗,
    如是,我是否该这样删除:
    for(int i=0;i<10;i++)
    {
    aaa2.ElementAt(i).removeall;
    }
    aaa2.RemoveAll();