我在将 2d 动态数组传递给我的类的函数时遇到问题。
void s::LoadData(long int &Num_Of_InputDataId,
long int **PresentData,
long int **InputDataId,
long int **InputData)
{
long int b;
for (long int i=0;i<Num_Of_InputDataId;i++)
{
b = InputDataId[i][0];
for(long int j=0;j<Num_Of_InputDataId;j++)
{
InputData[i][j]=PresentData[b][j]; //error occur here
} // end of internal for
} //end of external for
}
主要的:
long int Num_Of_InputDataId=10;
long int **PresentData;
PresentData = new long int *[Num_Of_InputDataId];
for (long int ii = 0; ii < Num_Of_InputDataId; ++ii)
PresentData[ii] = new long int[Num_Of_InputDataId];
long int ** InputDataId;
InputDataId = new long int *[Num_Of_InputDataId];
for (long int ii = 0; ii < Num_Of_InputDataId; ++ii)
InputDataId[ii] = new long int[2];
long int ** InputData;
InputData = new long int *[Num_Of_InputDataId];
for (long int ii = 0; ii < Num_Of_InputDataId; ++ii)
InputData[ii] = new long int[Num_Of_InputDataId];
Load.LoadData(Num_Of_InputDataId, PresentData, InputDataId, InputData);
Num_Of_InputDataId、PresentData 和 InputDataId 中的每一个都来自不同的函数。