请问动态生成的数组,我想这个数组成为全局变量该怎么办呀?  bool CModiflyUserDialog::RelativePosition(CString TransStr)
{
    CString TotalString;        TotalString="eeuuu,eeee,ioiiii,666,777,8888,999,666,";
    int nTemp = 0,nNum = 0;    while( ( nTemp = TotalString.Find(',')) != -1 )
{
       nNum++;
       TotalString = TotalString.Right(TotalString.GetLength() - nTemp - 1 );
}
    TotalString="eeuuu,eeee,ioiiii,666,777,8888,999,666,";
 
    int DIM1 = (nNum/4);
    int DIM2 = 4;
      ** ppi = new CString*[DIM1];  //(生成的数组,我在这个文件的.h文件中申明了的为  CString  **ppi.) 报错:D:\Êý³å³ÌÐò\Code\ModiflyUserDialog.cpp(113) : error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class CString ** ' (or there is no acceptable conversion)以后是程序的另外一部分.
   for(int n1 = 0; n1 < DIM1; n1++)
  {
       ppi[n1] = new CString[DIM2];
  }
 
  for( n1 = 0; n1 < DIM1; n1++)
  {
     for( int n2 = 0; n2 < DIM2; n2++)
     {
 ppi[n1][n2] =TotalString.Left(TotalString.Find(","));     TotalString=TotalString.Mid(TotalString.Find(",")+1);
 
     }  } 
 
    return  TRUE;}

解决方案 »

  1.   

    int DIM1 = (nNum/4);
    int DIM2 = 4;
    ppi = new CString*[DIM1];
      

  2.   

    同意 tigerfox
    ** ppi = new CString*[DIM1]; 改为
    ppi = new CString* [DIM1];
    这样你就从ppi指针的首地址开始申请了DIM1个CString *类型的指针
    然后就是你写的ppi[i] = new CString[DIM2]了 分别给这DIM1个指针new出DIM2长度的CString数组
    ** ppi 对应的是ppi[0][0]
      

  3.   

    CStringList或者CStringArray就可以的。