如题,定义一个struct,在这个struct中定义一个 CArray
struct ICTestInfo
{
    CArray<int,int> m_iFailItemNumA;
};
生成解决方案报错,
错误 79 error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
在结构中不能定义CArray数组么。

解决方案 »

  1.   


    在CPP有写赋值语句
    ICTestInfo tempInfo;
    tempInfo.m_iFailItemNumA.Add(ix+1);以上代码会造成这个报错么
      

  2.   

    把CArray数组改成普通的数组,程序就可以生成
    int m_iFailItemNumA[200];
      

  3.   

    CArray不支持赋值操作,你需要为结构重载拷贝构造函数,并重载=操作符。
    因为CArray是个容器,可能存储各种复杂数据结构,这些数据结构可能不支持拷贝赋值,所以CArray本身不支持赋值操作。
      

  4.   

    vs 2012+MFC 这样写无问题~