//-------分配二维数组内存-----------------------
int sCount=x;
double *MxArray=new double[sCount];
for(int i=0;i<sCount;i++)
{
  MxArray[i]=*(new double[5]);
}
//-----------------------------------------------用完之后:
//-------释放数组内存----------------------------
if(MxArray!=NULL)
{
 /*for(int i=0;i<sCount;i++)
  {
delete[] MxArray[i];//如果不注释掉这里出错,因为它不是指针
  }*/
  delete[] MxArray;
  MxArray=NULL;
}
//-----------------------------------------------

解决方案 »

  1.   

    //-------分配二维数组内存-----------------------
    int sCount=x;
    double **MxArray=new (double*)[sCount];
    for(int i=0;i<sCount;i++)
    {
      MxArray[i] = new double[5];
    }
    //-----------------------------------------------用完之后:
    //-------释放数组内存----------------------------
    if(MxArray!=NULL)
    {
       for(int i=0;i<sCount;i++)
      {
    delete[] MxArray[i];//如果不注释掉这里出错,因为它不是指针
      }
      delete[] MxArray;
      MxArray=NULL;
    }
    //-----------------------------------------------
      

  2.   

    steedhorse(晨星) :
    double **MxArray=new (double*)[sCount];这句编译不过去,原因:error C2143: syntax error : missing ';' before '['
      

  3.   

    double **MxArray=new double*[sCount];