我需要填充一个整数数组(大小为4)。我有以下代码,我在另一个项目中填充pointsList,并使用填充的pointsList将数据写入main方法的文件中,
main(){
int** pointsList = new int*[5000];
meshmodel(pointsList);
//do something with pointsList
}
meshmodel(int** &(pointsList)){ //this method is in another project
for(int j = 0; j<5000; j++){
for(int i = 0; i<4; i++){
pointsList[j] = new int[4];
pointsList[j][i] = id;
}
}
}
我面临的问题是填充的pointsList实际上没有正确填充, ex - in pointsList [0] array only pointsList [0] [3]填充正确,其他所有其他都有null / memory位置值。
如何正确填充pointsList。由于项目之间的差异,我无法传递向量。
感谢。
答案 0 :(得分:2)
for循环稍微偏离。
将其更改为:
for(int j = 0; j<5000; j++){
pointsList[j] = new int[4];
for(int i = 0; i<4; i++){
pointsList[j][i] = id;
}
}
你分配了4次而且保留了最后一次。