![]() |
求助,请问高手这段代码有什么问题?
求助,请问高手这段代码有什么问题?
www.dimcax.com 求助,请问高手这段代码有什么问题? 目的是将一堆cacadentity类型封装到一个块去, 其中先建立了一个std::map<cstring,lpdispatch>类型是一个从块名到块指针的map,std::vector<cacadentity> 为一个实体数组,运行到最后一步出错了,请问是什么原因,另外如果两个cacadentity取等号,是深层拷贝还是浅层拷贝?谢谢! std::map<cstring,lpdispatch>::iterator pos; for(pos=m_blocklist.begin();pos!=m_blocklist.end();++pos) { cstring blockname=pos->first; lpdispatch m_blockdisp=pos->second; std::vector<cacadentity> m_acadlist=m_entitylist[blockname]; int num2=m_acadlist.size(); lpdispatch* entitydisp=new lpdispatch[num2]; for(int i=0;i<num2;i++) entitydisp=m_acadlist.at(i); ccomvariant var; var.vt=vt_dispatch|vt_array; safearraybound rgsabound[1]; rgsabound[0].celements=num2; rgsabound[0].llbound=0; var.parray=safearraycreate(vt_dispatch,1,rgsabound); var.parray->pvdata=entitydisp; m_acaddoc.copyobjects(var,ccomvariant(m_blockdisp),null); } 为什么同样的意思用vba就可以实现呢?谢谢!,acadentity变长数组在c++中怎么表示?lpdispatch* entitydisp=new lpdispatch[num2];这句话有问题吗? |
| 所有的时间均为北京时间。 现在的时间是 05:30 PM. |