2010-07-04 7 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 для этого.

Thanks

+0

Что именно не работает? – casablanca

+0

Брайан Р. Бонди уже решил проблему – user382909

ответ

0

Вы не очищаете внутренний вектор каждый раз. Вероятно, вы хотите поместить внутреннюю декларацию вектора внутри первого цикла for.

+0

Спасибо, что сделал трюк! – user382909

Смежные вопросы