引用int数组的指针

时间:2014-06-05 05:12:38

标签: c++ pointers pass-by-reference

我需要填充一个整数数组(大小为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。由于项目之间的差异,我无法传递向量。

感谢。

1 个答案:

答案 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次而且保留了最后一次。