怎样用CObject代替,可不可以明示。

解决方案 »

  1.   

    应该不是array的问题
    No copy constructor available for class 'CTemp',可能找不到CTemp的定义吧
      

  2.   

    CArray<CTemp,CTemp&> m_temp;
      

  3.   

    方法1 CArray<CTemp,CTemp&> m_temp;
    方法2 定义构造函数CTemp(const CTemp& src)
      

  4.   

    改为下面的方式就行了,:)class CTemp:public CObject
    {
    };定义CArray;
    CArray<CTemp*,CTemp*> m_temp;
    CTemp *pClassTemp;pClassTemp=new Ctemp();
    m_temp.Add(pClassTemp);
      

  5.   

    不过,用完了之后可别完了用Delete()啊!:)
      

  6.   

    呵呵,一个字打错了,不好意思,不过,用完了之后可别忘了用Delete()啊!:) 
      

  7.   

    LoveAlien,你好!编译的错误信息:error C2664: 'Add' : cannot convert parameter 1 from 'class CTemp' to 'class CTemp',No copy constructor available for class 'CTemp'是由于在调用m_temp.Add(m_classTemp)的时候,m_temp需要创建一个CTemp对象,并且保证与m_classTemp的数据一样,因此理需要在class CTemp中加入一个拷贝函数:
      CTemp & operator =(const CTemp &temp)
    {
      //加入需要赋值的语句
    }