16,548
社区成员




CStringArray cs1;
//...中间有一系列的操作去给cs1赋值...//
CStringArray cs2;
cs2.Copy(cs1);
CString* m_pData; // the actual array of data
INT_PTR m_nSize; // # of elements (upperBound - 1)
INT_PTR m_nMaxSize; // max allocated
INT_PTR m_nGrowBy; // grow amount
就是在进行copy时,我单步调试跟踪CStringArray的Copy函数,发现cs2里的m_pData为NULL,所以造成中断。CStringArray在定义时,构造函数会初始化m_pData为NULL,在进行Copy时,Copy函数好像并没有给m_pData分配空间,所以我的使用会出错。
现在搞不懂的就是,Copy函数是要在CStringArray对象的m_pData不为空时才能使用,还是说我的理解有误,使用方式不对。 CStringArray a;
CStringArray b;
if(!a.IsEmpty())
a.Copy(b);