我用类CMyClass
CMyClass ** p;//创建
p=(CMyClass**)new CMyClass[10];
for(i=0;i<10;i++)
   p[i]=new CMyClass[10];
//删除
for(i=0;i<10;i++)
   delete[] p[i];
delete[] p;好象会出错,:(
有什么好办法啊? 

解决方案 »

  1.   

    int *p;
    int i = 10;p = new int[i];
      

  2.   

    用new申请内存然后用行指针当二维数组用
      

  3.   

    还可以用现成的数组类
    CArray
    CStringArray 等
    也可以用向量和容器
      

  4.   

    http://expert.csdn.net/Expert/topic/1819/1819182.xml?temp=.3263361
      

  5.   

    有问题,对简单数据类型好像没有问题,但是对自定义类就有问题。new也可以new,但是delete时出错,用carray怎么做啊,它不是只支持一维么?
      

  6.   

    int *lp, count = 10;
    lp = new int[count];
      

  7.   

    CMyTestClass *p; int i = 10; p = new CMyTestClass[i]; 一个一个的delete
    for(int j=0;j<i;j++)
    {
    p->~CMyTestClass();
    p++;
    }
             一次性的delete
    delete [] p;
      

  8.   

    你去掉delete[] p;
    好像就没有问题了!
      

  9.   

    //动态构造一个二维数组p[v1][v2];
    int v1=2;
    int v2=3;
    int ** p; p=new int*[v1];
    for(int i=0;i<v1;i++)
    p[i]=new int[v2]; //...add your code here // release memory
    for(i=0;i<v1;i++)
    delete[]p[i];
    delete[]p;