2010-07-04 129 views
3

我一直在試圖創建一個遊戲的矢量2D陣列。這是我正在做的一個例子。創建一個矢量的2D陣列

struct TILE { 
    int a; 
    char b; 
    bool c; 
}; 

TILE temp_tile; 

std::vector<TILE> temp_vec_tile; 
std::vector<std::vector<TILE>> tile; 


for (int x = 0; x < 10; x++) { 
    for (int y = 0; y < 10; y++) { 

    temp_tile.a = x; 
    temp_tile.b = "a"; 
    temp_tile.c = false;; 

    temp_vec_tile.push_back(temp_tile); 
    } 

    tile.push_back(temp_vec_tile); 
} 

// Why does this not work? 
int x = tile[3][5].a; 

注意:我不想爲此使用Boost。

謝謝

+0

什麼是不工作? – casablanca 2010-07-04 02:22:02

+0

Brian R. Bondy已經解決了這個問題 – user382909 2010-07-04 02:28:46

回答

0

你不是每次都清除內部向量。可能你想要的是將內部向量聲明放在第一個for循環中。

+0

謝謝,這個技巧! – user382909 2010-07-04 02:28:08