指针数组转化成一维数组的问题
本帖最后由 fengflyflyfly 于 2013-07-23 13:36:12 编辑
///////////////////////////////////////
A_T1D = new float[m_GridnumX*m_GridnumZ*m_receiver*m_tnum];//一维数组
A = new float*[m_receiver*m_tnum]; //指针数组定义
for( i=0; i<m_receiver*m_tnum; ++i)
{
A[i]= new float[m_GridnumX*m_GridnumZ];
}
for( i=0; i<m_receiver*m_tnum; ++i)
for( j=0; j<m_GridnumX*m_GridnumZ; ++j)
{
A[i][j]=0.0;
}
//////////////////////////////////////////////
for( i=0; i<m_receiver*m_tnum; i++)
for( j=0; j<m_GridnumX*m_GridnumZ; i++)
{
A_T1D[j*m_receiver*m_tnum+i]=A[j][i];//指针数组的转置保存成一维数组
}
//执行这个赋值的时候居然会报错,真心不明白!求大神指导
[解决办法]
代码写的真心难看懂啊。~哈
不过指针数组,C语言来说 即 void *p[];
即数组里面存放的也是指针.
赋值会出错,应该是类型不匹配的原因..我没看懂你代码..不太好说..
不过不是你的原因,是我看不懂C++...
[解决办法]
for( j=0; j<m_GridnumX*m_GridnumZ; i++)
应该是:
for( j=0; j<m_GridnumX*m_GridnumZ; j++)
[解决办法]