各位大侠,我定义了一个类cls,里面有一个成员变量为CArray类型,然后我又将这个类加入CArray中,形成CArray<cls,cls&> m_cls的形式,但是编译时会报错,不知是何原因,该如何解决呢?
谢谢!!!

解决方案 »

  1.   

    代码如下:
    class EDATA{   
    public:
        double allsecond;
        CArray<CoorCar,CoorCar&> satpos; 
    };
    CArray<EDATA,EDATA&> m_EArrAll;
    EDATA m_Edata;
    m_EArrAll.Add(m_Edata);  // 该句代码报错
    错误如下:
    1>c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afxtempl.h(267) : error C2248: “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)
    1>        c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afx.h(552) : 参见“CObject::operator =”的声明
    1>        c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afx.h(522) : 参见“CObject”的声明
    1>        此诊断出现在编译器生成的函数“CArray<TYPE,ARG_TYPE> &CArray<TYPE,ARG_TYPE>::operator =(const CArray<TYPE,ARG_TYPE> &)”中
    1>        with
    1>        [
    1>            TYPE=CoorCar,
    1>            ARG_TYPE=CoorCar &
    1>        ]
      

  2.   

    CArray<cls*, cls*> m_cls;
      

  3.   

    CArray不能嵌套吧用的话像上面说的用指针好了