将3d数组作为指针传递给c ++中的参数

时间:2018-12-05 13:22:29

标签: c++ arrays pointers

我需要帮助将3D数组指针作为参数传递给c ++ 我确实通过从文件中读取数据来填充3D数组,之所以想将其作为指针传递,是因为我最初不知道数组大小,而是从读取的文件中检索大小。 这是我的

int main(int argc , char * argv[]){

    string file = "files/";
    string nbr (argv[1]);
    file+=nbr;
    file+=".txt";
    int a,b,c,d = 0;


    ifstream fichier(file, ios::in);  // on ouvre le fichier en lecture
    fichier >> rows >> cols ;
    int gri[rows][cols][4] = {};
    if(fichier){
        string ligne;

        cout<< "rows: " << rows << " and " << "cols: " << cols << endl;
        while(getline(fichier, ligne))  // tant que l'on peut mettre la ligne dans "contenu"
        {

            for (int i = 0;i<rows;i++){
                for (int j = 0;j<cols;j++){
                    fichier >> a >> b >> c >> d;
                    cout << a << b << c << d << endl;
                    cout << i << " et " << j << endl;
                    gri[i][j][0] = a;
                    gri[i][j][1] = b;
                    gri[i][j][2] = c;
                    gri[i][j][3] = d;

                }
            }
        }


        fichier.close();
    }else{
        cout << "impossible d'ouvrir le fichier "<< endl;
    }






    tetravex t(gri);
    cout << "\n grille avant ...\n\n";
    t.printBoard();
    //t.isValide(0);
    //cout << "\n grille apres ...\n\n";
    //t.showResult();
    //t.printBoard();*/
    return 0;
}

这里是我想要检索指针的类构造器

   tetravex::tetravex(int *gri)

0 个答案:

没有答案