我定义了一个动态数组 typedef AcArray<CString> AcDbLayerNameArray; 在使用时, AcDbLayerNameArray layerNameArray; ACHAR* strLayerName; CString str; int i; for (i=0; i<10; i++){ // 获得 strLayerName ; str.Format(L"%s", strLayerName); layerNameArray.append(str); } 当i=8时,出错。不知道什么原因? 另外在AcArray的定义中,有 template <class T, class R = AcArrayMemCopyReallocator<T> > class AcArray { public: AcArray(int initPhysicalLength = 0, int initGrowLength = 8); AcArray(const AcArray<T,R>&); ~AcArray(); 。。。 } 好像是layerNameArray的大小被固定在initGrowLength = 8了,没能动态变化? |