请问动态生成的数组,我想这个数组成为全局变量该怎么办呀? 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;}
{
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;}
int DIM2 = 4;
ppi = new CString*[DIM1];
** ppi = new CString*[DIM1]; 改为
ppi = new CString* [DIM1];
这样你就从ppi指针的首地址开始申请了DIM1个CString *类型的指针
然后就是你写的ppi[i] = new CString[DIM2]了 分别给这DIM1个指针new出DIM2长度的CString数组
** ppi 对应的是ppi[0][0]