请教关于动态数组的问题
我用如下方法定义了两个动态数组:
double *SubpointLon;
double *SubpointLat;
int size;//计算动态数组大小
计算出size以后
SubpointLon=new double[size];
SubpointLat=new double[size];
然后在一个循环中对数组赋值
i=0;
do
{
..........//一系列计算得出数据
pSatelliteView->SaveSubpoint(i,size,SubpointLon,SubpointLat,
pData—>Longitude*180/PI, pData->Latitude*180/PI);
i=i+1;
}
while(........)
存贮数据的函数如下
void CSatelliteView::SaveSubpoint(int i, int size, double *SubpointLon, double *SubpointLat, double Longitude, double Latitude)
{
int k;
if(i<size)
{
SubpointLon[i]=Longitude;
SubpointLat[i]=Latitude;
}
else
{
for(k=0;k<size-1;k++)
{
SubpointLon[k]=SubpointLon[k+1];
SubpointLat[k]=SubpointLat[k+1];
}
SubpointLon[size-1]=SubpointLon[i];
SubpointLat[size-1]=SubpointLat[i];
}
}
运行后发现
SubpointLon[i]=Longitude;
SubpointLat[i]=Latitude;
这两句没有实现不断的为数组中元素赋值,2个数组中的元素一直是0,0。
怎么回事?