2013-12-08 58 views
-2

如果有一些麻煩發現如何正確地做到這一點,所以我決定觸摸並繼續解決問題,現在看來它已經有效了。多維數組對象C++ - 如何?

的代碼是:

Flight ***Matr = new Flight**[airportCount]; 
for(int i = 0; i < airportCount; i++){ 
    Matr[i] = new Flight*[airportCount]; 
    for(int j = 0; j < airportCount; j++){ 
     Matr[i][j] = new Flight; 
    } 
} 
for(int i = 0; i < airportCount; i++){ 
    for (int j = 1; j < airportCount; j++){ 
     Matr[i][j]; 
    } 
    delete[] Matr[i]; 
} 
delete[] Matr; 

,當我試圖刪除MATR [0] [0]是賽斯分割誤差; yay

我錯過了任何錯誤?

+1

這裏最基本的錯誤是指針和新意可言。你達到了「三星級編程」級別;這不是一件好事。只需將一個向量包裝在模擬多維訪問的類中即可。 – Griwes

+0

你在哪裏刪除Matr [0] [0]'? – Oswald

回答

2

爲什麼不使用矢量?

vector < vector <Flight> > Matr(airportCount, 
            vector <Flight>(airportCount)) 
1

變線Matr[i][j] = new Flight;Matr[i][j] = new Flight[len]; 和變線Matr[i][j];delete[] Matr[i][j];